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