很遺憾的是,我只讀過這本經典之作的一章內容, 所以藉此機會想和對此書有興趣的網友在 一 起閱讀這本書並通過實踐這本書中的代碼來加深對知識的理解,希望曾經讀過此書的網友能夠給我們後生一些幫助和提示。
以下是我根據自己的理解將這本書分成若干部分(附後),其中,Level 0) 與Level 1)是基礎部分;Level 2)對於編程來說是應該考慮的; Level 3.X各個部分相對獨立,可以單線進行,各取所需.
Level 0)
不熟悉內核源碼框架的可以先讀這一章
Chapter 16. Physical Layout of the Kernel Source
Level 1)
基礎知識:
瞭解設備驅動作爲一個功能模塊在LinuxOS中所起的作用以及它在整個混和體中的位置,
搞清linux內核可加載模塊的概念和相關使用;在Chap11中還給出了內核模塊機制的實現策略.
Chapter 1. An Introduction to Device Drivers
Chapter 2. Building and Running Modules
Chapter 11. kmod and Advanced Modularization
Level 2 )
移植,兼容性相關
Chapter 10. Judicious Use of Data Types
Level 3.1) 幾種常見的作爲設備驅動程序使用的內核模塊: 字符設備,塊設備,網絡設備
Chapter 3. Char Drivers
Chapter 5. Enhanced Char Drivers Operations
Chapter 12. Loading Block Drivers
Chapter 14. Network Drivers
Level 3.2 ) 內核調試技術
Chapter 4. Debugging Techniques
這部分內容有必要用實踐經驗去完善
Level 3.3 ) Chapter 6 Flow of Time
Level 3.4 ) Chapter 9. 中斷處理
Level 3.5 ) 內存管理和DMA相關內容
Chapter 7. Getting Hold of Memory
Chapter 13. mmap and DMA
Level 3.6 )Chapter 8. Hardware Management
這部分在具體的設備驅動編寫過程中很重要
I/O Ports and I/O Memory
Using I/O Ports
Using Digital I/O Ports
Using I/O Memory
Backward Compatibility
Quick Reference
Level 3.7 ) PCI ,外部組件接口
Chapter 15. Overview of Peripheral Buses