資料介紹
對(duì)多數(shù)驅(qū)動(dòng)程序開發(fā)的學(xué)習(xí)者來說,總是感覺很難?門,不能從
整體上把握驅(qū)動(dòng)程序是如何驅(qū)動(dòng)硬件設(shè)備?作的。本文以Linux內(nèi)
核中8139網(wǎng)卡驅(qū)動(dòng)為例,對(duì)驅(qū)動(dòng)程序的?作過程進(jìn)行詳細(xì)的分析,
為初學(xué)者撥開迷霧,走出霧里看花的迷茫。本文雖然以Linux驅(qū)動(dòng)
為例,但是技術(shù)總是相通的,為了給Windows驅(qū)動(dòng)初學(xué)者同樣的啟
發(fā),我有意的借用了許多Windows驅(qū)動(dòng)中的名詞,同時(shí)順便略述了
Windows驅(qū)動(dòng)中的?些容易讓初學(xué)者感到迷惑的概念。
Rtl8139是?個(gè)PCI網(wǎng)卡,老式的設(shè)備地址是固定的,對(duì)設(shè)備的擴(kuò)充通
常通過跳線等方式來更改地址以避免地址沖突,例如通過跳線來設(shè)置IED
主盤,從盤。PCI總線設(shè)備可以通過軟件編程靈活的設(shè)置各個(gè)設(shè)備的地
址。在操作系統(tǒng)啟動(dòng)的時(shí)候,系統(tǒng)根據(jù)PCI總線協(xié)議規(guī)范對(duì)主板上的PCI
進(jìn)行掃描,同時(shí)為發(fā)現(xiàn)的設(shè)備配置相關(guān)資源,包括中斷請(qǐng)求號(hào),地址空
間等。每?個(gè)PCI設(shè)備上有?個(gè)配置空間,配置空間中包含了設(shè)備的基本
信息,例如設(shè)備類別ID,?商ID,設(shè)備板載存儲(chǔ)空間等信息,操作系統(tǒng)
在掃描所有的PCI設(shè)備后,可以根據(jù)這些信息統(tǒng)?分配地址資源以避免
地址沖突。系統(tǒng)通過在PCI設(shè)備中的基地址寄存器中寫??個(gè)分配到的
基地址,之后CPU在指令執(zhí)行的時(shí)候給出?個(gè)地址,這個(gè)地址首先送到
Host-PCI橋,就是我們通常所說的北橋,北橋判斷出這個(gè)地址是落在內(nèi)
存或是PCI等設(shè)備的地址空間上1,如果落在PCI空間地址中,則北橋通過
PCI總線仲裁申請(qǐng),把地址送到PCI總線上,總線上的每?個(gè)PCI設(shè)備會(huì)根
據(jù)自?的存儲(chǔ)空間??以及基地址寄存器中的值來比較,如果被尋址的
地址落在自?的地址空間范圍內(nèi),則該設(shè)備會(huì)作為PCI從設(shè)備響應(yīng)完成數(shù)
據(jù)傳輸。這就是說,系統(tǒng)上的設(shè)備都有自?的地址空間,以總線帶寬為
32位的系統(tǒng)為例,可以容納的地址空間為4G,CPU在這4G的地址空間?部
分劃分到內(nèi)存空間,還有以部分很可能劃分給PCI等外部設(shè)備,這通常取
決于硬件系統(tǒng)設(shè)計(jì)者。PCI設(shè)備靈活的配置方式也不可避免的帶來了復(fù)雜
性。PCI協(xié)議對(duì)設(shè)備的枚舉,檢測(cè),配置的過程是復(fù)雜的,通常操作系統(tǒng)
提供了PCI總線協(xié)議驅(qū)動(dòng)程序,并在啟動(dòng)的時(shí)候完成了這?復(fù)雜的過程,
這樣??減?了PCI設(shè)備驅(qū)動(dòng)程序開發(fā)者的?作量。這就好像平時(shí)?家
做網(wǎng)絡(luò)程序開發(fā)的時(shí)候都沒必要自?實(shí)現(xiàn)TCP/IP協(xié)議?樣。用Windows的
術(shù)語來說,對(duì)PCI設(shè)備的枚舉由總線驅(qū)動(dòng)程序完成,而具體的對(duì)PCI設(shè)備
的控制是功能驅(qū)動(dòng)程序的?作。本文要描述的是Rtl8139網(wǎng)卡功能驅(qū)動(dòng)程序。對(duì)PCI協(xié)議有?定了解是必要的。關(guān)于PCI總線驅(qū)動(dòng)程序的知識(shí)可以閱讀《Linux內(nèi)核情景分析》。
- 使用RTL8139網(wǎng)卡改制AT89C51編程器的相關(guān)文件免費(fèi)下載 30次下載
- RTL8139C RTL8139C-LF RTL8139CL RTL8139CL-LF 23次下載
- Linux下8019網(wǎng)卡驅(qū)動(dòng)程序 13次下載
- RTL8139(PCI TO LAN)驅(qū)動(dòng)下載
- VxWorks下網(wǎng)卡驅(qū)動(dòng)程序的開發(fā)
- NE2000網(wǎng)卡芯片驅(qū)動(dòng)程序
- VxWorks下網(wǎng)卡驅(qū)動(dòng)程序的開發(fā)Development o
- realtek rtl8110sc網(wǎng)卡驅(qū)動(dòng) -下載
- Realtek RTL 8150網(wǎng)卡驅(qū)動(dòng)程序 -下載
- rtl8139網(wǎng)卡驅(qū)動(dòng)xp最新版 -下載 0次下載
- 8139網(wǎng)卡驅(qū)動(dòng)程序下載
- RTL8150L USB網(wǎng)卡驅(qū)動(dòng)程序下載
- 8139d網(wǎng)卡驅(qū)動(dòng)程序下載
- usb網(wǎng)卡驅(qū)動(dòng)程序下載(萬能全集)
- davicom 9102網(wǎng)卡驅(qū)動(dòng)程序下載
- 怎么編寫Framebuffer驅(qū)動(dòng)程序 402次閱讀
- 無線網(wǎng)卡驅(qū)動(dòng)怎么安裝 無線網(wǎng)卡怎么連接臺(tái)式電腦 2315次閱讀
- 了解和使用無操作系統(tǒng)和平臺(tái)驅(qū)動(dòng)程序 1066次閱讀
- NDIS小端口驅(qū)動(dòng)程序實(shí)現(xiàn)的關(guān)鍵技術(shù)和應(yīng)用研究 2214次閱讀
- 在VxWorks系統(tǒng)下改善RTL8139驅(qū)動(dòng)實(shí)現(xiàn)提高其穩(wěn)定性和效率 1210次閱讀
- 基于TMS320VC5410 DSP的PCI語音卡和WDM設(shè)備驅(qū)動(dòng)程序設(shè)計(jì) 2807次閱讀
- 米爾科技LINUX設(shè)備驅(qū)動(dòng)程序教程 1965次閱讀
- 淺談電腦驅(qū)動(dòng)程序的工作原理 詳解電腦驅(qū)動(dòng)程序意義 2.9w次閱讀
- 可動(dòng)態(tài)安裝的Linux設(shè)備驅(qū)動(dòng)程序 955次閱讀
- 8255A驅(qū)動(dòng)程序 3192次閱讀
- 8155驅(qū)動(dòng)程序 3057次閱讀
- 解析修改CentOS7網(wǎng)卡名字的步驟 5542次閱讀
- 深入了解USB驅(qū)動(dòng)之總線驅(qū)動(dòng)程序 8685次閱讀
- Xilinx設(shè)備的驅(qū)動(dòng)程序 7967次閱讀
- PCI驅(qū)動(dòng)程序開發(fā)實(shí)例 6701次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1489次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
- 0.23 MB | 3次下載 | 免費(fèi)
- 8基于單片機(jī)的紅外風(fēng)扇遙控
- 0.23 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多