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