pci的bar问题

majiansong   2009-11-27 17:31 楼主
请问高手们,怎样通过pci的配置寄存器中的bar读取的值,来获取映射到io或者memory的地址?bar是一个32位的寄存器。。。

回复评论 (4)

wdm中是不应该自己去读取的,记得有IRP可以获得。楼主查查书吧
直接获得的是物理地址,还需要映射到虚拟地址才能使用。
点赞  2009-11-30 10:15
MmMapIoSpace通过这个函数老映射对应的空间。
点赞  2009-12-4 10:22
我通过IRP获取资源,然后MmMapIoSpace映射对应空间,然后在应用程序中一操作就重启,这是为什么呢?
点赞  2009-12-4 10:26
这是在windows的驱动,如果你操作结构跟你在硬件结构是一样的话,不会出现问题的。可能的问题是2边的数据不一致。我刚做完一个linux框架 ,最后问题出在板卡上,换了张就好了。试下几个板卡是否都是一样,还有就是硬件上的板卡的程序和你的驱动是否一致。
点赞  2009-12-10 15:56
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复