嵌入式Device Driver開發實務課程
Device Driver(裝置驅動程式) 在Linux核心中扮演和硬體裝置與上層使用者應用程式溝通的重要角色,驅動程式的撰寫與傳統應用程式的開發有著截然不同的設計思維。


本課程以豐富的實例演練帶領學員有效的學習Linux 驅動程式設計,並在核心內建立良好的溝通機制,進而新增硬體裝置與上層應用程式做溝通。
成為Device Driver韌體工程師的好處
未來產業發展重點
市場研究機構Gartner Research的副總裁大衛•卡利發表的10大科技趨勢發展預測皆與韌體工程師息息相關。
堅持不斷更新的硬實力
獨家ARM Cortex-A72六核開發板
為提昇學員學習品質,有別於坊間教育單位,我們以具備高擴充性的開發板與模組實作教學,讓您學習更多元,開發不受限。


-
環境光源感測器模組應用:
實務上可用來實作省電功能、環境監控功能等相關應用。
-
溫濕度模組應用:
實務上可用來實作農業溫室監控、氣象監控、防潮偵測等相關應用。
-
高度計模組應用:
實務上可用來實作飛航控制、氣壓偵測等相關應用。
-
三軸加速度模組應用:
實務上可用來實作Wii偵測傾斜和加速動作,以及行動裝置自動翻轉螢幕等相關應用。
-
電子羅盤模組應用:
電子羅盤也叫數字指南針,實務上可用來實作水平孔和垂直孔測量、水下勘探、飛行器導航、建築物定位、GPS備份、汽車指南針等相關應用。
結訓後具備的開發能力
-
以Cortex-A72 六核心開發板實例解說 GPIO (LED, Push Button), Watchdog、RTC、Serial port 等等切入Driver撰寫的各個層面包含資源配置、中斷處理、同步、記憶體管理等等 。
-
撰寫完整的Driver架構與良好的框架
-
實作將自已寫的程式整合到 Linux kernel,並移植到Cortex-A9 四核心開發板
選擇中華數位的好處
業界肯定的實力
20年教育訓練經驗 + 業界產品開發講師不定期編譯符合業界需求的課程內容,用專業的角度和實戰經驗帶你快速與產業界接軌。

知名企業的共同選擇
客製化的內外訓教學服務,依專案需求調整課程內容。

結訓就業沒煩惱
實作專題立即與產業接軌就業沒煩惱

課程大綱
- Overview
- 認識 Linux Device Driver
- RK3399-SOC
- 介紹 實驗開發板 SOC RK3399
- Building Linux Modules
- 瞭解基本的 Linux module
- 瞭解 Kernel Function Export 功能
- Install_Linux_Modules
- 瞭解如何安裝 Linux module
- 瞭解 Linux module Makefile 與 Linux Kconfig, .config 關係
- Character Drivers
- 認識 基本 Character Driver
- 學習 Character Driver Read/Write Function
- 學習 基本 SYS_FS Function
- 學習 基本 PROC_FS Function
- Linux Driver Debugg
- 瞭解 Debug Message 的使用
- 應用 Compiler Options 於 偵錯模式
- 瞭解 ARM CPU Exception
- Platform Devices Driver
- 認識 Platform Device
- 認識 Platform Driver
- Platform Driver 與 DeviceTree
- Device Tree
- 瞭解 DeviceTree
- DeviceTree 在 Linux Device Driver 的應用
- Allocating Memory
- 認識與應用 kmalloc
- 認識與應用 get_free_page
- 認識與應用 vmalloc
- Communicating With Hardware
- 瞭解 Io Mapping 與 Memory Map
- 使用 IOREMAP 與 控制硬體
- 使用 IOREMAP 與 DTS
- Interrpt Handling
- 認識 Linux Interrupt
- Linux driver ISR 的註冊
- Linux driver ISR 與 DTS
- Character Driver for IOCTL
- 瞭解 Character Driver 的 IOCTL 功能
- 瞭解 IOCTL 編碼方法
- TimeDelays Deferred Work
- 認識 Linux 時間單位
- 介紹 Linux 基本延遲方法
- 介紹 Linux 進階延遲方法
- Concurrency And RaceConditions.odp
- 認識 Semaphore 與 應用
- 認識 SpinkLock 與 應用
- BLOCK IO
- 認識阻塞式 I/O
- 應用 Wait Queu
- 應用 Wait Event
- GPIO Subsystem
- 認識 GPIO 子系統
- 應用 GPIO 子系統 與 DTS
- I2C Subsystem
- I2C Bus 子系統
- 應用 I2C Bus 子系統 與 DTS
- Input Subsystem
- 輸入設備 子系統
- 輸入設備 子系統的應用 與 DTS
開課時間
110年12月4日至110年12月25日
(週六全天班 AM9:30至PM5:30)
111年2月12日至111年3月5日
(週六全天班 AM9:30至PM5:30)