聯繫我們

課程簡介

1. Linux 核心簡介

  • 嵌入式 Linux 概覽
  • Linux 核心架構
  • 使用者空間與核心空間之比較
  • 核心的職責
  • 核心開發工作流程
  • 受支援的嵌入式平台概覽

2. 開發環境建置

  • 準備開發工作站
  • 交叉編譯概念
  • 安裝必要的開發工具
  • 設定 BeagleBone Black 開發板
  • 序列埠控制台設定
  • 啟動目標裝置

3. 取得並理解核心原始碼

  • Linux 核心原始碼樹
  • 穩定版與長期支援(LTS)版核心的差異
  • 下載核心原始碼
  • 探索原始碼結構
  • 核心文件
  • 核心版本管理

4. 核心設定、編譯與啟動

  • 使用 menuconfig 進行核心設定
  • 選擇核心功能
  • 交叉編譯核心
  • 建立核心映像檔
  • 安裝核心模組
  • 開機 loader(Bootloader)概覽
  • 啟動自訂核心

5. 裝置樹(Device Tree)基礎

  • 裝置樹的用途
  • 裝置樹原始碼(DTS)檔案
  • 裝置樹封包(DTB)
  • 硬體描述概念
  • 修改裝置樹檔案
  • 建置與部署裝置樹

6. Linux 核心模組

  • 核心模組架構
  • 建置可載入的核心模組
  • 載入與卸除模組
  • 模組參數
  • 模組相依性
  • 與核心模組互動
  • 模組除錯技術

7. Linux 核心除錯

  • 使用 printk() 進行核心記錄
  • 使用 dmesg
  • 動態除錯
  • 核心恐慌(Kernel Panic)分析
  • Oops 訊息
  • 使用 GDB 進行除錯
  • 基本效能追蹤工具

8. 字符裝置驅動程式

  • Linux 裝置驅動程式模型
  • 字符裝置
  • 註冊驅動程式
  • 檔案操作
  • 讀取與寫入操作
  • IOCTL 介面
  • 記憶體管理
  • 驅動程式清理

9. 驅動程式整合與硬體存取

  • 平台裝置與驅動程式
  • GPIO 程式設計
  • 中斷處理
  • 計時器與延遲工作
  • 存取硬體暫存器
  • 記憶體映射 I/O(Memory-mapped I/O)操作

10. 使用 Git 進行版本控制

  • Git 基礎
  • 管理核心原始碼
  • 分支與合併
  • 建立補丁(Patches)
  • 變更審查
  • 核心開發協作

11. 核心開發實作實驗室

  • 設定自訂核心
  • 建置與部署核心
  • 建立簡單的核心模組
  • 開發基本的字符裝置驅動程式
  • 修改裝置樹檔案
  • 在 BeagleBone Black 上除錯核心問題

12. 最佳實務與總結

  • 核心程式設計風格
  • 撰寫可維護的驅動程式
  • 常見開發陷阱
  • 核心文件資源
  • 開源貢獻工作流程
  • 關鍵概念回顧
  • 問答環節
  • Linux 核心開發的下一步

最低要求

具備使用 GNU/Linux 系統的基本常識

 14 小時

人數


每位參與者的報價

客戶評論 (2)

即將到來的課程

課程分類