驅(qū)動開發(fā)是整個嵌入式軟件開發(fā)中技術含量最高、難度最大,同時也是薪資最高、工作機會最少的一塊,處在整個嵌入式軟件開發(fā)的食物鏈上游。通過前面4部分課程的學習,大家已經(jīng)掌握了比較好的基礎,因此本課程能夠有機會帶大家更深入的去解析linux的內(nèi)核驅(qū)動機制,譬如platform總線、I2C、input子系統(tǒng)、framebuffer子系統(tǒng),驅(qū)動的分離與分層原則,三種驅(qū)動模型(字符設備、塊設備、網(wǎng)絡設備)等等。這些內(nèi)容再加上具體硬件的操作特性其實就是驅(qū)動開發(fā)的主體了,因此對這些內(nèi)容的掌握其實就意味著你已經(jīng)入門驅(qū)動開發(fā)了,至少可以大方的在自己的求職簡歷上寫上“熟悉linux下常見驅(qū)動的調(diào)試開發(fā)”。
《Linux驅(qū)動開發(fā)》總計11個課程(112節(jié)、60小時),是《朱有鵬老師嵌入式linux核心課程》的第5部分,也是最后一部分了。
主講內(nèi)容:
本課程是linux驅(qū)動開發(fā)的第5個課程,主要內(nèi)容是linux的設備驅(qū)動模型,包括總線、類、設備、驅(qū)動等概念,重點通過platform平臺總線的工作來演示設備驅(qū)動模型的工作方法,實踐環(huán)節(jié)對上個課程的LED驅(qū)動進行平臺總線式改造,最終目標是讓大家徹底掌握linux的總線式設備驅(qū)動模型。
適用人群:
本課程是linux驅(qū)動開發(fā)的第5個課程,要求學過前面的課程,尤其是C語言高級專題及驅(qū)動基礎等課程,有一定編程能力,對linux內(nèi)核驅(qū)動有一定掌握才能學習。
通過本課程學習,你將學會:
-
linux的設備驅(qū)動模型
-
platform平臺總線的目的、意義、工作方式
-
平臺總線的工作流程
-
如何在平臺總線下編寫驅(qū)動程序
-
實戰(zhàn)編寫X210下基于平臺總線的LED驅(qū)動
-
硬件配置信息中的數(shù)據(jù)如何從device端傳遞到driver端,并且被driver接收用于硬件的操作方法