Windows 2K平臺(tái)下多機(jī)通信卡
在開發(fā)驅(qū)動(dòng)程序過(guò)程中,使用了DriverStudio中的DriverWorks工具用來(lái)創(chuàng)建WDM框架。
DriverWorks提供用于訪問(wèn)內(nèi)存映射地址的類KmemoryRange和KmemoryRegister。實(shí)現(xiàn)步驟如下:
(3)在初始化成功后,可以調(diào)用類KmemoryRange的成員函數(shù)實(shí)現(xiàn)對(duì)內(nèi)存映射地址寄存器[2]的訪問(wèn)。
在驅(qū)動(dòng)程序的開發(fā)中還涉及到硬件中斷的處理。具體地說(shuō),首先安裝一個(gè)中斷服務(wù)例程(ISR),當(dāng)相應(yīng)的中斷發(fā)生時(shí),內(nèi)核調(diào)用它的中斷服務(wù)例程。中斷服務(wù)例程的第一個(gè)工作是判斷該中斷是否由自己的設(shè)備產(chǎn)生。如果不是,則返回FALSE,交給其他的中斷服務(wù)例程;如果是,則處理該中斷,并返回TRUE。
同樣,DriverWorks提供Kinterrpt和KdefrredCall類處理中斷。具體編程如下:
6結(jié)束語(yǔ)
由于在接口卡中采用了89C52芯片完成數(shù)據(jù)收發(fā)工作,同時(shí)協(xié)助主機(jī)進(jìn)行信號(hào)的處理,這在很大程度上減輕了主機(jī)的負(fù)擔(dān),加速了I/O操作。在驅(qū)動(dòng)程序的編制上,采用了WDM驅(qū)動(dòng)模型,這樣可以很方便地將程序移植到任何支持WDM模型的操作系統(tǒng)中去。
評(píng)論