Windows 2K平臺下多機通信卡
在開發(fā)驅(qū)動程序過程中,使用了DriverStudio中的DriverWorks工具用來創(chuàng)建WDM框架。
DriverWorks提供用于訪問內(nèi)存映射地址的類KmemoryRange和KmemoryRegister。實現(xiàn)步驟如下:

(3)在初始化成功后,可以調(diào)用類KmemoryRange的成員函數(shù)實現(xiàn)對內(nèi)存映射地址寄存器[2]的訪問。
在驅(qū)動程序的開發(fā)中還涉及到硬件中斷的處理。具體地說,首先安裝一個中斷服務例程(ISR),當相應的中斷發(fā)生時,內(nèi)核調(diào)用它的中斷服務例程。中斷服務例程的第一個工作是判斷該中斷是否由自己的設備產(chǎn)生。如果不是,則返回FALSE,交給其他的中斷服務例程;如果是,則處理該中斷,并返回TRUE。
同樣,DriverWorks提供Kinterrpt和KdefrredCall類處理中斷。具體編程如下:



6結(jié)束語
由于在接口卡中采用了89C52芯片完成數(shù)據(jù)收發(fā)工作,同時協(xié)助主機進行信號的處理,這在很大程度上減輕了主機的負擔,加速了I/O操作。在驅(qū)動程序的編制上,采用了WDM驅(qū)動模型,這樣可以很方便地將程序移植到任何支持WDM模型的操作系統(tǒng)中去。
評論