聯繫我們

課程簡介

1. Linux 核心簡介

  • 嵌入式 Linux 概述
  • Linux 核心架構
  • 用戶空間與核心空間
  • 核心的職責
  • 核心開發工作流程
  • 受支援的嵌入式平台概觀

2. 設定開發環境

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

3. 獲取與理解核心來源代碼

  • Linux 核心來源樹
  • 穩定版與長期支援版核心
  • 下載核心來源代碼
  • 探索來源代碼結構
  • 核心文件
  • 核心版本管理

4. 配置、編譯與啟動核心

  • 使用 menuconfig 配置核心
  • 選擇核心功能
  • 交叉編譯核心
  • 建構核心映像檔
  • 安裝核心模組
  • Bootloader 概觀
  • 啟動自訂核心

5. 裝置樹(Device Tree)基礎

  • 裝置樹的目的
  • 裝置樹來源(DTS)檔案
  • 裝置樹二進位(DTB)
  • 硬體描述概念
  • 修改裝置樹檔案
  • 建構與部署裝置樹

6. Linux 核心模組

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

7. Linux 核心除錯

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

8. 字元裝置驅動程序

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

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

  • 平台裝置與驅動程序
  • GPIO 編程
  • 中斷處理
  • 計時器與延遲工作
  • 存取硬體暫存器
  • 使用記憶體映射 I/O

10. 使用 Git 進行版本控制

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

11. 實作核心開發實驗室

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

12. 最佳實務與總結

  • 核心編碼風格
  • 撰寫可維護的驅動程序
  • 常見開發陷阱
  • 核心文件資源
  • 開放原始碼貢獻流程
  • 關鍵概念回顧
  • 問答環節
  • Linux 核心開發的後續步驟

最低要求

熟悉 GNU/Linux 系統的基本操作

 14 小時

客戶評論 (2)

課程分類