驅(qū)動開發(fā)是整個嵌入式軟件開發(fā)中技術(shù)含量最高、難度最大,同時也是薪資最高、工作機會最少的一塊,處在整個嵌入式軟件開發(fā)的食物鏈上游。通過前面4部分課程的學習,大家已經(jīng)掌握了比較好的基礎(chǔ),因此本課程能夠有機會帶大家更深入的去解析linux的內(nèi)核驅(qū)動機制,譬如platform總線、I2C、input子系統(tǒng)、framebuffer子系統(tǒng),驅(qū)動的分離與分層原則,三種驅(qū)動模型(字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)設(shè)備)等等。這些內(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ā)的第9個課程,主要內(nèi)容是linux的I2C子系統(tǒng)以及電容觸摸屏驅(qū)動的移植。學習本課程的核心點在于I2C子系統(tǒng),目標是對I2C驅(qū)動框架的徹底理解和熟練運用。本課程承襲前面platform平臺總線的講解思路和基礎(chǔ),真正做到了對I2C總線做透徹清晰的講解。
適用人群:
本課程是linux驅(qū)動開發(fā)的第9個課程,要求學過前面的課程,尤其是C語言高級專題及驅(qū)動基礎(chǔ)等課程,有一定編程能力,對linux內(nèi)核驅(qū)動有一定掌握才能學習。
通過本課程學習,你將學會:
-
學習觸摸屏驅(qū)動的關(guān)鍵點和學習方法
-
通過代碼實例來演示tasklet、workqueue等中斷下半部的處理
-
I2C系統(tǒng)的四個關(guān)鍵結(jié)構(gòu)體
-
主機SoC的I2C控制器部分的驅(qū)動源碼及其實現(xiàn)細節(jié)
-
gslX680驅(qū)動源碼分析