阅读:1306回复:1
我的驱动向设备内存写数据时有问题,求解答啊
下面是代码:
WRITE_REGISTER_BUFFER_ULONG(pdx->currentaddr,pdx->ReadWriteBuffer,pdx->ReadWriteLength); for(i=0;i<pdx->ReadWriteLength;i++) { KdPrint((DRIVERNAME " - Before Write is %lX\n", pdx->ReadWriteBuffer)); } pdx->currentaddr,pdx->ReadWriteBuffer都是PULONG的,当pdx->ReadWriteLength大于512后,pdx->currentaddr指向的内存的基地址并没有被写入,但是从基地址开始的值却变化了,结果就成了这样:本来写内存之后的结果应该是0,1,2......1FF,200,201,202,实际结果成了200,201,202,3,4........1FF,A00,A00,A00。实在是不知道为什么大于512之后的内存地址不能写入,而基地址以后的值却被修改了 |
|
沙发#
发布于:2009-05-22 23:18
是不是跨页操作了,不允许啊?
又把前面的数据覆盖了。 |
|
|