请问高手们,怎样通过pci的配置寄存器中的bar读取的值,来获取映射到io或者memory的地址?bar是一个32位的寄存器。。。
wdm中是不应该自己去读取的,记得有IRP可以获得。楼主查查书吧
直接获得的是物理地址,还需要映射到虚拟地址才能使用。
MmMapIoSpace通过这个函数老映射对应的空间。
我通过IRP获取资源,然后MmMapIoSpace映射对应空间,然后在应用程序中一操作就重启,这是为什么呢?
这是在windows的驱动,如果你操作结构跟你在硬件结构是一样的话,不会出现问题的。可能的问题是2边的数据不一致。我刚做完一个linux框架 ,最后问题出在板卡上,换了张就好了。试下几个板卡是否都是一样,还有就是硬件上的板卡的程序和你的驱动是否一致。