前言:
本課程之 Driver 開發範例皆直接於 Raspberry Pi 平台上進行,並將 Raspberry Pi 視為一套完整的 Linux 主機開發環境。教學內容涵蓋 Linux Driver 的核心設計觀念、各項驅動程式技術主題的系統性講解,並搭配實際開發成果與操作示範(Demo)影片,協助學員由理論延伸至實務,完整掌握驅動程式的開發流程與系統整合方法。
課程實作範例基於 Linux Kernel 4.14 LTS(Long Term Support)版本進行設計。此版本具備架構成熟、API 穩定且子系統複雜度適中的特性,特別適合用於拆解與理解 Linux Driver 的核心設計原理。學員能清楚掌握中斷機制、裝置模型、資源管理、平台驅動、Device Tree 與各子系統之間的架構關係,而非僅停留於高度自動化 API 的操作層面。
Linux Driver 的核心架構自 4.x 至 6.x 版本之間並未產生本質性的改變,主要差異在於 API 設計與實作形式的演進。本課程著重於培養學員對 Linux 裝置模型、子系統整合與資源生命週期管理的系統性能力,確保所學知識可無縫遷移至 5.x、6.x 及未來核心版本,並實際應用於產業級開發與產品導入場景。~ 2025/12/3
先備知識:
- 具Linux 系統操作能力 (cd, cp , tar , sudo, ifconfig 這些指令的使用是常識 )
- 熟悉C程式設計
- 會使用gcc, make 的等GNU開發工具
- 有Linux 系統程式設計的經驗
Raspberry Pi 3 環境建置:
請先解開 rar 壓縮檔, 然後再用WinDisk工具寫入至 16G MicroSD 卡中
開機後, pi 登入, 密碼: raspberry
登入後,可先進入 01_LED , 執行動入如下
make ==> 產生chr_led.ko的檔案
insmod chr_led.ko ==> 載入driver
gcc test.c -o test ==> 產生應用程式執行檔 test
sudo ./test ==> 執行應用程式, 可以看到LED 閃爍
登入後,可先進入 01_LED , 執行動入如下
make ==> 產生chr_led.ko的檔案
insmod chr_led.ko ==> 載入driver
gcc test.c -o test ==> 產生應用程式執行檔 test
sudo ./test ==> 執行應用程式, 可以看到LED 閃爍
Driver code only for Pi 3
- 目前講師所整理的code 僅以Raspberry Pi 3 搭配艾鍗 Raspberry Pi 3 Shield 版本為主, Pi 2 程式已無更新
或參考 嵌入式Linux系統實務 課程
[參考]


沒有留言 :
張貼留言