....................................................................................
課程皆採實體上課與線上遠端教學同步。
....................................................................................
課程特色:
採用 ARM Cortex-A72六核心開發板 ‧熟悉Linux驅動程式開發架構觀念
熟悉硬體裝置設備與驅動程式溝通流程架構
了解驅動程式編譯執行流程 ‧豐富的課堂實作演練
實例新增硬體裝置並撰寫驅動程式
 |
以Cortex-A72 六核心開發板實例解說 GPIO (LED, Push Button), Watchdog、RTC、Serial port
等等切入Driver撰寫的各個層面包含資源配置、中斷處理、同步、記憶體管理等等
導正學員Linux Device Driver Development 的觀念,並撰寫完整的Driver架構與良好的框架。
可以自己撰寫完整的驅動程式架構與良好的框架及實際撰寫程式也了解
user-space與kernel-space 之間的關係。
讓學員實作將自已寫的程式整合到 Linux kernel,並移植到Cortex-A27六核心開發板。 |
|
課程大綱
|
|
|
|
|
| ‧瞭解基本的 Linux module | ‧瞭解 Kernel Function Export 功能 |
|
|
| ‧瞭解如何安裝 Linux module | ‧瞭解 Linux module Makefile 與 Linux Kconfig, .config 關係 |
|
|
|
‧認識 基本 Character Driver ‧學習 基本 SYS_FS Function | ‧學習 Character Driver Read/Write Function ‧學習 基本 PROC_FS Function |
|
|
‧瞭解 Debug Message 的使用 ‧應用 Compiler Options 於偵錯模式 | ‧瞭解 ARM CPU Exception |
|
|
‧認識 Platform Device ‧認識 Platform Driver | ‧Platform Driver 與 DeviceTree |
|
|
| ‧瞭解 DeviceTree | ‧DeviceTree 在 Linux Device Driver 的應用 |
|
| CH3 - Linux Driver Advance |
|
|
‧認識與應用 kmalloc ‧認識與應用 vmalloc | ‧認識與應用 get_free_page |
|
| Communicating With Hardware |
|
‧瞭解 Io Mapping 與 Memory Map ‧使用 IOREMAP 與 控制硬體 | ‧使用 IOREMAP 與 DTS |
|
|
‧認識 Linux Interrupt ‧Linux driver ISR 與 DTS | ‧Linux driver ISR 的註冊 |
|
| Character Driver for IOCTL |
|
| ‧瞭解 Character Driver 的 IOCTL 功能 | ‧瞭解 IOCTL 編碼方法 |
|
|
| Character Driver for IOCTL |
|
‧認識 Linux 時間單位 ‧介紹 Linux 進階延遲方法 | ‧介紹 Linux 基本延遲方法 |
|
| Concurrency And RaceConditions.odp |
|
| ‧認識 Semaphore 與 應用 | ‧認識 SpinkLock 與 應用 |
|
|
‧認識阻塞式 I/O ‧應用 Wait Event | ‧應用 Wait Queu |
|
|
|
| ‧認識 GPIO 子系統 | ‧應用 GPIO 子系統 與 DTS |
|
|
| ‧I2C Bus 子系統 | ‧應用 I2C Bus 子系統 與 DTS |
|
|
| ‧輸入設備 子系統 | ‧輸入設備 子系統的應用 與 DTS |
|