簡介:驅(qū)動開發(fā)是嵌入式Linux 開發(fā)難度最高的內(nèi)容。驅(qū)動開發(fā)既要熟悉相關(guān)硬件的操作又要深入理解內(nèi)核中驅(qū)動框架和相關(guān)機制。本課程主要講解驅(qū)動開發(fā)中的高級內(nèi)容,包括高級驅(qū)動學(xué)習(xí)方法、輸入子系統(tǒng)、I2c子系統(tǒng)、設(shè)備樹等重要內(nèi)容。
課程章節(jié)
第01課 高級驅(qū)動學(xué)習(xí)方法
-
課時1字符設(shè)備驅(qū)動編寫時引起的思考
-
課時2分層框架和面向?qū)ο蟮乃枷?/span>
-
課時3高級驅(qū)動學(xué)習(xí)特點和目標
第02課 輸入子系統(tǒng)1
-
課時1輸入子系統(tǒng)的作用
-
課時2輸入子系統(tǒng)的框架
-
課時3最簡單的輸入設(shè)備驅(qū)動程序編寫
-
課時4輸入子系統(tǒng)中硬件初始化和上報數(shù)據(jù)
-
課時5應(yīng)用程序讀取輸入設(shè)備數(shù)據(jù)的方式
第03課 輸入子系統(tǒng)2
-
課時1input device的初始化解釋
-
課時2添加input device的信息
-
課時3設(shè)置位表和上報數(shù)據(jù)的另外一種方式
-
課時4設(shè)備樹中定義按鍵信息的子節(jié)點
-
課時5代碼中分析所有的子節(jié)點
-
課時6初始化所有的按鍵并驅(qū)動起來
第04課 輸入子系統(tǒng)3
-
課時1應(yīng)用程序讀取多個按鍵和驅(qū)動代碼的結(jié)構(gòu)分析
-
課時2輸入子系統(tǒng)工作邏輯初識
-
課時3input三層的分析
-
課時4evdev_connect函數(shù)分析
-
課時5input handler和input device和handle之間的關(guān)系
-
課時6應(yīng)用是如何調(diào)用到輸入子系統(tǒng)中去的
第05課 輸入子系統(tǒng)4
-
課時1evdev_open的實現(xiàn)過程
-
課時2evdev_read讀取輸入子系統(tǒng)的數(shù)據(jù)方式
-
課時3input_event()上報數(shù)據(jù)的實現(xiàn)過程
-
課時4evdev_events中填充緩沖區(qū)數(shù)據(jù)的過程
第06課 I2C子系統(tǒng)上
-
課時1I2C協(xié)議和時序講解
-
課時2Linux I2C驅(qū)動框架
-
課時3Linux I2C總線和平臺總線的結(jié)合
-
課時4Linux I2C從設(shè)備的設(shè)備樹信息的添加
-
課時5Linux I2C client_driver_adatper_msg等對象的講解
第07課 I2C子系統(tǒng)下
-
課時1MPU6050的I2C driver驅(qū)動框架編寫
-
課時2MPU6050操作寄存器
-
課時3讀取MPU6050數(shù)據(jù)寄存器并上報給用戶
-
課時4應(yīng)用程序讀取重力加速度和陀螺儀的值
第08課 設(shè)備樹(上)
-
課時1初識設(shè)備樹
-
課時2設(shè)備樹的由來
-
課時3設(shè)備樹文件的編譯
-
課時4內(nèi)核使用dtb文件的過程
-
課時5節(jié)點和屬性
-
課時6常見的屬性compatible-reg等
第09課 設(shè)備樹(下)
授課講師
-
George
高級講師
關(guān)于講師
精通uboot和Linux系統(tǒng)開發(fā)、Android系統(tǒng)開發(fā);熟悉freescale的imx51(Cortex-A8)平臺;曾多次給萬利達,意法半導(dǎo)體等知名公司進行員工內(nèi)訓(xùn),具有多年教學(xué)和培訓(xùn)實踐經(jīng)驗。
課程推薦
- 系統(tǒng)移植 試聽 2088
- C語言項目小游戲-中國象棋小游戲 試聽 1851
- Linux驅(qū)動程序開發(fā) 試聽 3444
- C++開發(fā)基礎(chǔ) 試聽 6978
學(xué)習(xí)服務(wù)
- 技術(shù)大牛直播授課
- 實時學(xué)情管理
- 課后作業(yè)批改,BUG診斷
- 輔導(dǎo)老師當堂答疑
- 學(xué)習(xí)規(guī)劃,專屬學(xué)習(xí)方案