阅读:1553回复:4
请问如何在WDM中访问低端确定物理内存?例如d0000?
如题,我需要访问自己开发的板卡上的双口RAM!
|
|
最新喜欢:![]()
|
沙发#
发布于:2002-01-06 11:15
使用函数MmMapIoSpace把物理地址映射成KernelMode的线性地址,就可一访问了,我用这种方法访问过BIOS的内容,没问题,做法是在AddDevice当中使用如下代码:
PHYSICAL_ADDRESS PhysicalAddress=RtlConvertLongToLargeInteger(0xF0000); pdx->pMemBase=MmMapIoSpace( PhysicalAddress, 0xF0000, MmNonCached ); 然后在IRP_MJ_READ或IRP_MJ_DEVICE_CONTROL处理当中使用RtlCopyMemory(Irp->AssociatedIrp.SystemBuffer,(PUCHAR)pdx->pMemBase+FilePointer,NumberOfBytesHaveRead);就可以读物理地址了 |
|
|
板凳#
发布于:2002-01-06 15:34
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2002-01-10 21:57
地址译码就可以映射呀!
|
|
|
地下室#
发布于:2002-02-05 12:57
请jlj兄弟把映射方式说详细一点
|
|