window驱动开发,外设isa外设物理地址内存映射后,读写数据无效
清湖水 2020-04-04 05:54:29 大神们好,闷头开发了两周window驱动了。有几个问题想不通。
1,是不是设备挂在pc上,如果没有正确驱动的话,在设备管理器能看到该设备有黄色警告图标的?
是因为外设的配置寄存器吗?如果外设没有配置寄存器的话,是不是在设备管理器是不显示的?
2,如果一个isa设备没有配置寄存器,但是知道实际物理地址,不知道vendorid和produce id。在使用MmMapIoSpace得到虚拟地址后,并不能成功读写isa外设,所以我映射的物理地址是指到了那里呢?
还有,此设备在Linux下的驱动代码,已经看过,仅是简单粗暴的映射了物理地址到虚拟地址,直接就使用了,却是能够正常。
如下代码:
request_mem_region(0xd2000, 0x500000, "dual_ports_ram");
g_device_address = ioremap_nocache(0xd2000, 0x500000);
小弟愚笨,看了几天资料,测试了几天驱动,这几个问题确实想不明白了。
请各位大神们,拜托给我指个方向。这几天挫败感有点强,不知道怎么走了