<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 獲取PCI總線上任何配置頭信息

          獲取PCI總線上任何配置頭信息

          作者: 時間:2016-12-15 來源:網絡 收藏
          原創(chuàng)來自于《windows驅動開發(fā)技術詳解》。PCI由設備存儲信息,I/O地址空間和接下來要著重顯示的配置空間。前兩者可以通過配置空間的Base Address Register[]獲取。(之后的博文都采用WDM分層驅動結構,如果之后學習了WDF結構,那全部改用最新的驅動結構,這樣可以讓驅動在 win7或更高系統(tǒng)上運行。)
          書上用的是傳到驅動層,然后在操作端口,獲取的數(shù)據在應用層顯示。不過這種方法不是很喜歡,比較喜歡在驅動層開啟I/O位圖位,然后讓應用層擁有端口操作權限。所以,在看本博文之前,請先熟悉之前的關于在應用層開啟端口操作權限的相關函數(shù)講解的博文,寫好一個驅動,能開啟端口讀取權限。然后再繼續(xù)閱讀本文。
          以下是類型0的PCI配置結構:

          如果看不懂,那需要回去復習數(shù)據結構基礎哦。這個圖很簡單,總共256個字節(jié)。自己可以寫一個結構去接受這個數(shù)據,但是書上給了現(xiàn)成的,我也就偷偷懶,注釋了1一個重要的地方(40h-FFh)。下面來看看書上結構的巧妙之處。下面三個常量,便是3種類型中基地址數(shù)組大小。(下面結構是一起的,只是分了幾張圖發(fā),方便講解)
          類型0配置頭不同的地方
          類型1配置頭不同的地方

          類型2配置頭的不同

          這里充分說明union聯(lián)合聲明的好用。
          書上定義了一個_PCI_SLOT_NUMBER結構位結構,但是沒定義完,還要自己進行位操作。為了方便,我直接把這個結構完善了,每次填寫就可以了。
          上一頁 1 2 下一頁

          關鍵詞: PCI總線配置頭信

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();