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