獲取PCI總線上任何配置頭信息
書(shū)上用的是傳到驅(qū)動(dòng)層,然后在操作端口,獲取的數(shù)據(jù)在應(yīng)用層顯示。不過(guò)這種方法不是很喜歡,比較喜歡在驅(qū)動(dòng)層開(kāi)啟I/O位圖位,然后讓?xiě)?yīng)用層擁有端口操作權(quán)限。所以,在看本博文之前,請(qǐng)先熟悉之前的關(guān)于在應(yīng)用層開(kāi)啟端口操作權(quán)限的相關(guān)函數(shù)講解的博文,寫(xiě)好一個(gè)驅(qū)動(dòng),能開(kāi)啟端口讀取權(quán)限。然后再繼續(xù)閱讀本文。
以下是類(lèi)型0的PCI配置結(jié)構(gòu):
如果看不懂,那需要回去復(fù)習(xí)數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)哦。這個(gè)圖很簡(jiǎn)單,總共256個(gè)字節(jié)。自己可以寫(xiě)一個(gè)結(jié)構(gòu)去接受這個(gè)數(shù)據(jù),但是書(shū)上給了現(xiàn)成的,我也就偷偷懶,注釋了1一個(gè)重要的地方(40h-FFh)。下面來(lái)看看書(shū)上結(jié)構(gòu)的巧妙之處。下面三個(gè)常量,便是3種類(lèi)型中基地址數(shù)組大小。(下面結(jié)構(gòu)是一起的,只是分了幾張圖發(fā),方便講解)
類(lèi)型0配置頭不同的地方
類(lèi)型1配置頭不同的地方
類(lèi)型2配置頭的不同
類(lèi)型2配置頭的不同
這里充分說(shuō)明union聯(lián)合聲明的好用。
書(shū)上定義了一個(gè)_PCI_SLOT_NUMBER結(jié)構(gòu)位結(jié)構(gòu),但是沒(méi)定義完,還要自己進(jìn)行位操作。為了方便,我直接把這個(gè)結(jié)構(gòu)完善了,每次填寫(xiě)就可以了。
關(guān)鍵詞:
PCI總線配置頭信
相關(guān)推薦
技術(shù)專(zhuān)區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開(kāi)關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車(chē)電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論