你有這樣的問題嗎?
▪ 有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。
• 課程總時數 : 28小時
• 觀看天數:45天
• 課程所附教材 : 精編講義、範例程式碼
► Linux 驅動程式架構
► Linux HAL
► Linux Driver開發流程
► 核心程式碼與Makefile
► Driver 模組編譯與載入
► 字元裝置Driver
● Character_Driver (1)
● Character_Driver (2)
● Character_Driver (3)
● Udev
► Linux Misc Device
► Linux GPIO Driver Framework
● Linux GPIO Lib
● BCM2835 GPIO 控制說明
● Linux GPIO Host Controller驅動程式
► Linux 中斷服務程式
► Linux中斷控制器HAL層
► Bottom Halves (Tasklet & Work Queue)
► 進階字元Driver
● Wait Queue
● Completion及非同步通知
● Kernel Timer List (Jiffies, timer ticks) for LED 閃爍
► Linux Platform Device & Platform Driver
► Linux Device Tree

► Linux SPI Driver Framework
● SPI簡介
● SPI Flash 操作
● Linux SPI Client驅動程式 for SPI Flash
● Linux MTD 驅動程式
● Linux SPI Bus master驅動程式
► Device Tree for ADC Driver (MCP3008)

► Linux I2C Driver Framework
● I2C 簡介
● Linux I2C Framework(1)
● Linux I2C Framework(2)
● Linux I2C Bus master驅動程式
► Linux UART Driver Framework
► Linux User Space Driver - BCM2835 C I/O Library
更多延伸學習
數位課程:
MCU韌體設計 | 嵌入式Linux學程 | 進階-Python硬體控制 | 更多數位學習
實體課程:
全新數位學習平台
索取更多資訊
★年終回饋活動注意事項 (點擊展開)
-
本次活動折價券限下次購課時使用
-
本次活動折價券不得與其他優惠併用
-
主辦單位保有隨時修改及終止本活動之權利,如有任何變更內容或詳細注意事項將公布於本網頁,恕不另行通知。