jlj
jlj
驱动牛犊
驱动牛犊
  • 注册日期2001-08-08
  • 最后登录2004-06-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1554回复:4

请问如何在WDM中访问低端确定物理内存?例如d0000?

楼主#
更多 发布于:2002-01-06 09:53
如题,我需要访问自己开发的板卡上的双口RAM!

最新喜欢:

jmzz003jmzz00...
攀岩者
abeh
驱动牛犊
驱动牛犊
  • 注册日期2001-04-10
  • 最后登录2003-01-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于: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);就可以读物理地址了
我爱开发
lcx119
禁止发言
禁止发言
  • 注册日期2001-07-12
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2330分
  • 威望11503点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-01-06 15:34
用户被禁言,该主题自动屏蔽!
jlj
jlj
驱动牛犊
驱动牛犊
  • 注册日期2001-08-08
  • 最后登录2004-06-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-01-10 21:57
地址译码就可以映射呀!
攀岩者
cquvc
驱动牛犊
驱动牛犊
  • 注册日期2002-02-01
  • 最后登录2002-04-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-02-05 12:57
请jlj兄弟把映射方式说详细一点
游客

返回顶部