驅動開發(fā)是整個嵌入式軟件開發(fā)中技術含量最高、難度最大,同時也是薪資最高、工作機會最少的一塊,處在整個嵌入式軟件開發(fā)的食物鏈上游。通過前面4部分課程的學習,大家已經(jīng)掌握了比較好的基礎,因此本課程能夠有機會帶大家更深入的去解析linux的內(nèi)核驅動機制,譬如platform總線、I2C、input子系統(tǒng)、framebuffer子系統(tǒng),驅動的分離與分層原則,三種驅動模型(字符設備、塊設備、網(wǎng)絡設備)等等。這些內(nèi)容再加上具體硬件的操作特性其實就是驅動開發(fā)的主體了,因此對這些內(nèi)容的掌握其實就意味著你已經(jīng)入門驅動開發(fā)了,至少可以大方的在自己的求職簡歷上寫上“熟悉linux下常見驅動的調(diào)試開發(fā)”。
《Linux驅動開發(fā)》總計11個課程(112節(jié)、60小時),是《朱有鵬老師嵌入式linux核心課程》的第5部分,也是最后一部分了。
主講內(nèi)容:
本課程是linux驅動開發(fā)的第3個課程,接上部分繼續(xù)講解字符設備驅動的開發(fā)要點,重點是相關的內(nèi)核源代碼的解析和一些真正驅動慣用的編程手法的引入。本課程的目的是讓大家開始逐漸習慣和熟悉真正內(nèi)核驅動的特征,為后續(xù)學習真正的驅動代碼打下基礎。
適用人群:
本課程是linux驅動開發(fā)的第3個課程,要求學過前面的課程,尤其是C語言高級專題及驅動基礎等課程,有一定編程能力才能學習。
通過本課程學習,你將學會:
-
新接口如何自動分配設備號
-
C語言如何以面向對象的編程方式來實現(xiàn)linux內(nèi)核
-
字符設備驅動注冊相關的接口函數(shù)
-
class_create和device_create內(nèi)部的實現(xiàn)原理
-
如何使用class_create和device_create這兩個接口來讓字符設備驅動借助設備類自動創(chuàng)建及刪除設備文件
-
掌握靜態(tài)映射的實現(xiàn)細節(jié)