RTX系統下PCI PCI-E外設的驅動開發

 

RTX是Windows的實時擴展,RTX的出現,使得用戶既可以利用Windows的良好界面,又使應用具有了微秒級的實時特性。

RTX不僅支持PCI,ISA總線的板塊,也支持PCI-E總線板卡。在驅動開發上,PCI,ISA和PCI-E板卡開發方法沒有任何區別,RTX提供了良好驅動開發框架,通過設置嚮導,用戶可以選擇需要的功能模塊,如:內存映射,I/O映射,ISR,IST等。

RTX對中斷類型的支持,不僅包括line-based類型,還包括MSI和MSI-X中斷類型。當然,對MSI和MSI-X中斷類型,需要硬件板卡具有此中斷功能。目前,符合PCI2.2協議的板卡和PCI-E板卡一般都支持MSI和MSI-X中斷。

下面簡單介紹RTX的驅動框架,

1.       用搜索函數來搜索指定的設備,開發人員需要將device ID 和Vendor ID 指定。

2.       用初始化函數來初始化搜索到的指定設備。

2.1    使能I/O。(如果在構建框架時選擇了I/O映射)

2.2     將物理內存地址,寄存器地址進行映射,這楊,開發人員對設備寄存器的訪問就如同對數組的訪問一樣簡單。

2.3     根據需要,對設備寄存器進行相應的配置。

3.       檢測板卡是否支持MSI或MSI-X中斷。

4.       根據中斷類型來設置參數,包括中斷服務程序。

5.       掛接中斷。

以上是驅動的大致框架,開發人員可以根據需要,封裝成自己的函數,以方便應用層的開發。驅動程序可以被編譯成RTSS文件或RTDLL文件。若不希望驅動代碼泄露,可以編譯成RTDLL文件,只需提供函數接口即可。

有興趣的人可以發郵件到[email protected],我們可進行進一步的溝通。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章