| Introduction to Linux Device Driver
(Linux 輸出入裝置與驅動程式簡介) |
|
•何謂裝置驅動程式
•Linux 驅動程式分類
•Linux核心介紹 |
•Linux驅動程式架構
•Linux驅動程式開發流程
•裝置硬體規格與驅動程式介面介紹 |
|
| Linux Kernel Module Building and Running
(Linux核心模組建置與執行) |
|
•Linux 核心模組介紹
•模組工具程式
•Kernel space V.S User space 程式
•System calls
|
•Linux 核心模組架構
•Linux 核心模組開發流程
•Linux核心模組相依性
•Linux 核心模組參數 |
|
|
•何謂字元裝置驅動程式
•字元驅動程式開發流程
•註冊字元驅動程式
|
•溝通字元驅動程式
•資源競爭問題探討 |
|
| Debugging Linux Kernel and Device Driver
(Linux核心與驅動程式除錯) |
|
•核心除錯方式介紹
•系統事件紀錄簿介紹
•除錯技巧
|
•驅動程式除錯流程
•實作Proc檔案格式進行除錯
•除錯工具介紹使用 |
|
| Kernel concurrency and Race conditions
(核心一致性與競爭問題) |
|
•行程一致性問題介紹
•競爭問題介紹
•Semaphore號誌介紹
|
•Completion介紹
•Spinlock 自旋鎖介紹
•Lock ordering 規則 |
|
| Advanced Char Driver (進階字元驅動程式) |
|
•ioctl介紹
•ioctl 架構實作
•阻塞式與非阻塞式操作
•休眠介紹
|
•Polling 介紹
•Select 介紹
•進階驅動程式開發流程與架構 |
|
| Time, Delay and Deferred work
(時間,延遲與遲緩操作探討) |
|
Linux 核心時間計時介紹
RTC介紹
延遲執行架構與實作
|
核心時間相關API函式實作
Tasklets介紹
工作佇列 |
|
|
•Linux核心記憶體管理機制
•配置核心記憶體方式介紹
•kmalloc函式
•Memory pool函式
|
•前瞻快取介紹
•vmalloc 函式
•ioremap函式 |
|
| Communicating with Hardware(硬體裝置溝通) |
|
•I/O Port介袑
•Memory mapped I/O 介紹
•Memory mapped I/O開發流程
|
•存取Memory mapped I/O
•平台相依性 |
|
|
•中斷介紹
•中斷程式開發流程
|
•進階中斷函式處理
•共享中斷 |
|
| Data Types in the Linux Kernel(核心資料型別) |
|
•標準C語言資料型別
•Timer Interval
|
•Page size
•資料對齊 |
|
| |
|
|