Linux設備驅動

Linux設備驅動

《Linux設備驅動開發詳解(第2版)》是一本介紹Linux設備驅動開發理論、框架與實例的書,《Linux設備驅動開發詳解(第2版)》基於LDD6410開發板,以Linux2.6 版本核心為藍本,詳細介紹自旋鎖、信號量、完成量、中斷頂/底半部、定時器、記憶體和I/O映射以及異步通知、阻塞I/O、非阻塞I/O等Linux設備驅動理論;字元設備、塊設備、TTY設備、I2C設備、LCD設備、音頻設備、USB設備、網路設備、PCI設備等Linux設備驅動的架構和框架中各個複雜數據架構和函式的關係,並講解了Linux驅動開發的大量實例,使讀者能夠獨立開發各類Linux設備驅動。《Linux設備驅動開發詳解(第2版)》內容全面,實例豐富,操作性強,語言通俗易懂,適合廣大Linux開發人員、嵌入式工程師參考使用。

定義

設備驅動最通俗的解釋就是“驅使硬體設備行動”。驅動與底層硬體直接打交道,按照硬體設備的具體工作方式,讀寫設備的暫存器,完成設備的輪詢、中斷處理、DMA通信,進行物理記憶體向虛擬記憶體的映射等,最終讓通信設備能收發數據,讓顯示設備能顯示文字和畫面,讓存儲設備能記錄檔案和數據。

分類

(1)字元設備。

(2) 塊設備。

(3) 網路設備。

字元設備

指那些必須以串列順序依次進行訪問的設備,如觸控螢幕、磁帶驅動器、滑鼠等。塊設備可以用任意順序進行訪問,以塊為單位進行操作,如硬碟、軟碟機等。字元設備不經過系統的快速緩衝,而塊設備經過系統的快速緩衝。但是,字元設備和塊設備並沒有明顯的界限,如對於Flash設備,符合塊設備的特點,但是我們仍然可以把它作為一個字元設備來訪問。

重點和難點

(1)編寫Linux設備驅動要求工程師有非常好的硬體基礎,懂得SRAM、Flash、SDRAM、磁碟的讀寫方式,UART、I2C、USB等設備的接口以及輪詢、中斷、DMA的原理,PCI匯流排的工作方式以及CPU的記憶體管理單元(MMU)等。

(2) 編寫Linux設備驅動要求工程師有非常好的C語言基礎,能靈活地運用C語言的結構體、指針、函式指針及記憶體動態申請和釋放等。

(3)編寫Linux設備驅動要求工程師有一定的Linux核心基礎,雖然並不要求工程師對核心各個部分有深入的研究,但至少要明白驅動與核心的接口。尤其是對於塊設備、網路設備、Flash設備、串口設備等複雜設備,核心定義的驅動體系架構本身就非常複雜。

(4) 編寫Linux設備驅動要求工程師有非常好的多任務並發控制和同步的基礎,因為在驅動中會大量使用自旋鎖、互斥、信號量、等待佇列等並發與同步機制。

設備驅動圖書

圖書信息

《Linux設備驅動開發詳解》

作 者:宋寶華

出版社: 人民郵電出版社

出版時間: 2010年11月1日

ISBN: 9787115236579

開本: 16開

定價: 88.00元

圖書目錄

第1篇 Linux設備驅動入門

第1章 Linux設備驅動概述及開發環境構建 2

第2章 驅動設計的硬體基礎 21

第3章 Linux核心及核心編程 53

第2篇 Linux設備驅動核心理論

第4章 Linux核心模組 82

第5章 Linux檔案系統與設備檔案系統 92

第6章 字元設備驅動 118

第7章 Linux設備驅動中的並發控制 139

第8章 Linux設備驅動中的阻塞與非阻塞I/O 161

第9章 Linux設備驅動中的異步通知與異步I/O 176

第10章 中斷與時鐘 193

第11章 記憶體與I/O訪問 213

第12章 工程中的Linux設備驅動 242

第3篇 Linux設備驅動實例

第13章 Linux塊設備驅動 272

第14章 Linux終端設備驅動 304

第15章 Linux的I2C核心、匯流排與設備驅動 333

第16章 Linux網路設備驅動 363

第17章 Linux音頻設備驅動 388

第18章 LCD設備驅動 440

第19章 Flash設備驅動 479

第20章 USB主機與設備驅動 507

第21章 PCI設備驅動 547

第4篇 Linux設備驅動調試、移植

第22章 Linux設備驅動的調試 564

第23章 Linux設備驅動的移植 602

參考文獻 631

相關詞條

相關搜尋

熱門詞條

聯絡我們