阅读:1053回复:3
wdm与pci硬件到底怎么通信?通信需要哪种地址?
我有以下的问题:
1,物理地址,cpu地址,虚拟地址,线性地址,之间是什么关系,wdm与硬件通信需要哪种地址? 2,关于kmemoryrange由driverworks自动生成,在win2000下,是不是可以直接使用?我的理解如下:win2000系统自动为硬件分配资源(IO,内存,中断),对应的操作变量是(kiorange,kmemoryrange,中断还不知道),就拿kmemoryrange来说,例如系统分配的内存首地址是DE000000,长度32k,(由设备资源管理器相应的硬件属性可知),则变量memoryrange0指向DE000000这个地址,要想通过内存与硬件通信,直接可用memoryrange0.outb(偏移地址,数据)进行,如:memoryrange0.outb(0x100,5),即使将5->DE000100,硬件则从地址DE000100读取数据,以上是我的理解,不知对不对,请高手指教, |
|
沙发#
发布于:2003-01-06 17:13
真可怜,没人告诉到底对不对, :(,为什么????
|
|
板凳#
发布于:2003-01-07 15:48
我也在研究这些问题,也很迷茫,共同期待吧!
|
|
|
地板#
发布于:2003-01-07 17:36
楼上的,说说你的想法,如何?我现在是停滞不前了,我试了很多次了,就是写不进去,还有另一种方法,驱动由物理地址映射到线性地址,将线性地址返回到应用程序,应用程序就可以直接和硬件通信了,你会不会,如果会,请告诉我好吗?等待中.....
|
|