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