《Android》深度探索第七章心得體會

來源:互聯網
上載者:User

標籤:

第七章簡述了另外一個驅動程式:LED燈的控制

1.建立LED驅動的裝置檔案:

第1步:使用cdev_init函數初始化cdev;

第2步:指定裝置號,分為兩種指定方法

第3步:使用cdev_add函數將字元裝置添加到核心中的字元裝置數組中;

第4步:使用class_create宏建立struct class;

第5步:使用device_create函數建立裝置檔案。

2.卸載LED驅動的裝置檔案

關鍵代碼:

void device_destory(sruct class *class,dev_t devt)

  void clss_dsetroy(struct class *class)

void unregister_chrdex_region(dev_t from,unsigned count)

 

1. 控制LED,LED驅動可以通過字串和I/O命令兩種方式控制LED。

LED有兩個引腳:GPB0和GPB1。其中一個引腳串連到了ARM處理器的GPI0連接埠,另一個引腳經過一個限流電阻串連到電源。控制LED需要通過3個寄存器來完成,分別為GPMCON、GPMDAT、GPMPUD。每一個寄存器可以使用4個位元組。使用GPMCON寄存器的低16位將LED兩個連接埠的屬性設定為Outpt。使用GPMDAT寄存器的低4位控制4個LED的亮、滅。

  與硬體打交道,需要把程式寫入I/O記憶體,由I/O記憶體負責與主機的各個硬體進行互動。在led驅動中,直接寫入字串資料和I/O控制命令都可以實現與裝置檔案的互動。

《Android》深度探索第七章心得體會

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.