感謝您提交詢問!我們的一位團隊成員將在短時間內與您聯繫。
感謝您提交預訂!我們的一位團隊成員將在短時間內與您聯繫。
課程簡介
1. Linux 內核簡介
- 嵌入式 Linux 概述
- Linux 內核架構
- 用戶空間與內核空間
- 內核職責
- 內核開發工作流程
- 支持的嵌入式平臺概述
2. 搭建開發環境
- 準備開發工作站
- 交叉編譯概念
- 安裝所需的開發工具
- 配置 BeagleBone Black 開發板
- 串行控制檯配置
- 引導目標設備
3. 獲取與理解內核源碼
- Linux 內核源代碼樹
- 穩定版與長期支持版內核
- 下載內核源碼
- 探索源碼結構
- 內核文檔
- 管理內核版本
4. 配置、編譯與引導內核
- 使用 menuconfig 進行內核配置
- 選擇內核功能
- 交叉編譯內核
- 構建內核鏡像
- 安裝內核模塊
- 引導程序概述
- 引導自定義內核
5. 設備樹基礎
- 設備樹的目的
- 設備樹源碼 (DTS) 文件
- 設備樹二進制文件 (DTB)
- 硬件描述概念
- 修改設備樹文件
- 構建與部署設備樹
6. Linux 內核模塊
- 內核模塊架構
- 構建可加載內核模塊
- 加載與卸載模塊
- 模塊參數
- 模塊依賴關係
- 與內核模塊交互
- 模塊調試技術
7. Linux 內核調試
- 使用 printk() 進行內核日誌記錄
- 使用 dmesg 工具
- 動態調試
- 內核恐慌分析
- Oops 錯誤消息
- 使用 GDB 進行調試
- 基本的性能追蹤工具
8. 字符設備驅動程序
- Linux 設備驅動模型
- 字符設備
- 註冊驅動程序
- 文件操作
- 讀取與寫入操作
- IOCTL 接口
- 內存管理
- 驅動清理
9. 驅動集成與硬件訪問
- 平臺設備與驅動
- GPIO 編程
- 中斷處理
- 定時器與延遲工作
- 訪問硬件寄存器
- 處理內存映射 I/O
10. 使用 Git 進行版本控制
- Git 基礎
- 管理內核源代碼
- 分支與合併
- 創建補丁
- 審查更改
- 協作參與內核開發
11. 內核開發動手實驗
- 配置自定義內核
- 構建與部署內核
- 創建簡單的內核模塊
- 開發基礎字符設備驅動程序
- 修改設備樹文件
- 在 BeagleBone Black 上調試內核問題
12. 最佳實踐與總結
- 內核編碼風格
- 編寫可維護的驅動程序
- 常見的開發陷阱
- 內核文檔資源
- 開源貢獻工作流程
- 關鍵概念回顧
- 問答環節
- Linux 內核開發的後續步驟
最低要求
具備基本的 GNU/Linux 系統使用經驗
14 小時
客戶評論 (2)
培訓師的知識非常豐富。他能夠回答我所有的問題,甚至包括關於我們平臺的問題。他還一直幫助我們,直到我們所有人都理解了材料。
James O'Donnell - Tennant Company
課程 - Embedded Linux Kernel and Driver Development
機器翻譯
I liked the hands-on nature of it.
Maurice Egan
課程 - Embedded Linux Kernel and Driver Development
機器翻譯