

▪ 有8051、AVR單晶片等MCU開發經驗,如I2C、SPI等,但不知如何將這些Driver移植Linux到平台
▪ 不清楚Linux 驅動程式的進入點在那裡?
▪ 不懂Linux 驅動程式要如何跟上層的應用程式溝通?
▪ 不同的硬體裝置對Linux驅動程式的架構是不是也不同?
▪ 在Linux多工的環境下,驅動程式該如何處理多工並同時存取?同步I/O與非同步I/O、中斷、DMA等I/O方式,Linux 驅動程式應如何撰寫?
▪ 看過一些Linux 驅動程式的書籍,但卻看不懂?或者是......好像懂,但卻又不知如何寫Linux驅動程式?
快速上手: 用Raspberry Pi學Linux驅動程式,並且搭配本公司所設計的Raspberry Pi I/O擴充板作為驅動程式實戰演練,實戰GPIO, UART, I2C, SPI等Linux硬體驅動,讓您在學習的過程中能夠快速了解硬體架構及軟體架構。
ü學習Driver撰寫的各個層面,包含核心API、中斷處理、同步、記憶體管理等等。
ü導正學員Linux Device Driver與Linux基本作業系統的觀念,為將來的Driver coding打下良好的基礎。
ü可以了解user-space與kernel-space之間的關係。
ü可以開始研讀及參考kernel裡面或是別人撰寫的device driver source code。
• 課程說明:本課程之 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 及未來核心版本,並實際應用於產業級開發與產品導入場景。
• 課程總時數 : 28小時
• 課程所附教材 : Raspberry Pi 開發套件包、精編講義、範例程式碼
• 其他: 講師講解內容不限於Raspberry Pi 開發套件包 ,惟能實際硬體實驗的部份會受限於Raspberry Pi 開發套件包所提供的硬體。















