資料介紹
本章將帶您走進 Linux 設備驅動的精彩世界。
1.1 節講解了設備驅動的概念和作用。
1.2 節和 1.3 節分別講述無操作系統和有操作系統情況下設備驅動的設計方法,通過分析講解設備驅動與硬件和操作系統的關系。
1.4 節對 Linux 操作系統的設備驅動進行了概要性的介紹,講解設備驅動與系統軟硬件的關系,分析了 Linux 設備驅動的重點難點和學習方法。
本章的最后給出了一個設備驅動的“Hello World”實例,即最簡單的 LED 驅動在無操作系統情況下和 Linux 操作系統下的實現。
任何一個計算機系統的運行都是系統中軟硬件協作的結果,沒有硬件的軟件是空中樓閣,而沒有軟件的硬件則只是一堆廢鐵。硬件是底層基礎,是所有軟件得以運行的平臺,代碼最終會落實為硬件上的組合邏輯與時序邏輯;軟件則實現了具體應用,它按照各種不同的業務需求而設計,滿足了用戶的需求。硬件較固定,軟件則很靈活,可以適應各種復雜多變的應用。可以說,計算機系統的軟硬件互相成就了對方。
但是,軟硬件之間同樣存在著悖論,那就是軟件和硬件不應該互相滲透到對方的領地。為了盡可能快速地完成設計,應用軟件工程師不想也不必關心硬件,而硬件工程師也難有足夠的閑暇和能力來顧及軟件。例如,應用軟件工程師在調用套接字發送和接收數據包的時候,他不必關心網卡上的中斷、寄存器、存儲空間、I/O 端口、片選以及其他任何硬件詞匯;在使用 printf()函數輸出信息的時候,他不用知道底層究竟是怎樣把相應的信息輸出到屏幕或串口。
也就是說,應用軟件工程師需要看到一個沒有硬件的純粹的軟件世界,硬件必須被透明地呈現給他們。誰來實現硬件對應用軟件工程師的隱形?這個艱巨的任務就落在了驅動工程師的頭上。對設備驅動最通俗的解釋就是“驅使硬件設備行動”。設備驅動與底層硬件直接打交道,按照硬件設備的具體工作方式讀寫設備寄存器,完成設備的輪詢、中斷處理、DMA 通信,進行物理內存向虛擬內存的映射,最終使通信設備能夠收發數據,使顯示設備能夠顯示文字和畫面,使存儲設備能夠記錄文件和數據。
由此可見,設備驅動充當了硬件和應用軟件之間的紐帶,它使得應用軟件只需要調用系統軟件的應用編程接口(API)就可讓硬件去完成要求的工作。在系統中沒有操作系統的情況下,工程師可以根據硬件設備的特點自行定義接口,如對串口定義 SerialSend()、SerialRecv();對 LED 定義 LightOn()、LightOff();以及對 Flash 定義 FlashWrite()、FlashRead()等。而在有操作系統的情況下,設備驅動的架構則由相應的操作系統定義,驅動工程師必須按照相應的架構設計設備驅動,這樣,設備驅動才能良好地整合到操作系統的內核中。
驅動程序溝通著硬件和應用軟件,而驅動工程師則溝通著硬件工程師和應用軟件工程師。隨著通信、電子行業的迅速發展,全世界每天都會有大量的新芯片被生產,大量的新電路板被設計,因此,也會有大量設備驅動需要開發。這些設備驅動,或運行在簡單的單任務環境中,或運行在 VxWorks、Linux、Windows 等多任務操作系統環境中,發揮著不可替代的作用。
?
- Linux設備驅動開發詳解 51次下載
- 嵌入式Linux設備驅動程序開發基礎知識總結免費下載 13次下載
- 《Linux設備驅動開發詳解》第5章、Linux文件系統與設備文件系統 0次下載
- 《Linux設備驅動開發詳解》第6章、字符設備驅動 23次下載
- 《Linux設備驅動開發詳解》第7章、Linux設備驅動中的并發控制 10次下載
- 《Linux設備驅動開發詳解》第8章、Linux設備驅動中的阻塞與非阻塞IO 9次下載
- 《Linux設備驅動開發詳解》第9章、Linux設備驅動中的異步通知與異步IO 0次下載
- 《Linux設備驅動開發詳解》第10章、中斷與時鐘PDF免費下載 0次下載
- 《Linux設備驅動開發詳解》第13章、Linux塊設備驅動 18次下載
- 《Linux設備驅動開發詳解》第14章、Linux終端設備驅動 8次下載
- 《Linux設備驅動開發詳解》第15章、Linux的I2C核心、總線與設備驅動 8次下載
- 《Linux設備驅動開發詳解》第16章、Linux網絡設備驅動 5次下載
- 《Linux設備驅動開發詳解》第17章、Linux音頻設備驅動 17次下載
- 《Linux設備驅動開發詳解》第18章、LCD設備驅動 13次下載
- 《Linux設備驅動開發詳解》第23章、Linux設備驅動的移植 9次下載
- Linux 驅動開發與應用開發,你知道多少? 871次閱讀
- Linux內核驅動與單個PCI設備的綁定和解綁定 1730次閱讀
- 一文總結linux的platform驅動 1199次閱讀
- 如何寫一個Linux設備驅動程序 4532次閱讀
- Linux設備驅動開發的基本知識 4393次閱讀
- Linux驅動到底能不能在應用層開發驅動 6165次閱讀
- 米爾科技Linux設備驅動研究淺談 2035次閱讀
- 米爾科技LINUX設備驅動程序教程 2103次閱讀
- 基于PXA255開發板外圍字符設備的嵌入式Linux字符設備驅動設計與應用 1199次閱讀
- 基于嵌入式Linux內核的系統設備驅動程序開發設計 1209次閱讀
- 基于Linux2.6.30開發DS18B20的驅動程序的類型和文件操作接口函數詳解 1498次閱讀
- 想要駕馭Linux驅動開發,必須深刻理解Linux總線設備驅動框架 1w次閱讀
- 嵌入式Linux驅動開發基礎總結(上篇) 8518次閱讀
- 基于FPGA嵌入式系統的設備驅動開發 2338次閱讀
- 關于Linux設備驅動中input子系統的介紹 2711次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論