ziyun
驱动小牛
驱动小牛
  • 注册日期2003-07-28
  • 最后登录2009-05-31
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望109点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
阅读:1363回复:6

映射虚拟地址的问题

楼主#
更多 发布于:2004-12-10 10:36
我在做ide硬盘驱动的时候,把ide的物理地址通过MmMapIo……函数映射到一个虚拟地址,但是我发现这个虚拟地址在我没有插上ide数据线的时候居然能读能写,而且每次读出的数据都不一样,请问这是为什么?是不是我的映射没有成功?
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-10 10:57
兄弟,你是说在进行地址转换时,你直接调用了MmMapIoSpace函数?在这之前你没有调用HalTranslateBusAddress函数吗?
Come on, let us drive the world.
ziyun
驱动小牛
驱动小牛
  • 注册日期2003-07-28
  • 最后登录2009-05-31
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望109点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-10 11:14
需要先调用这个函数吗?我没有注意啊,

不过我使用TransBusAddrToVirtual来映射效果是一样的啊
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-12-10 12:07
调用TransBusAddrToVirtual也可以,如果调用TransBusAddrToVirtual就不需要再调用MmMapIoSpace了。你看一下调用TransBusAddrToVirtual后,AddressSpace的值1还是0啊?
Come on, let us drive the world.
ziyun
驱动小牛
驱动小牛
  • 注册日期2003-07-28
  • 最后登录2009-05-31
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望109点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-12-10 15:18
调用后是0是1有什么说法吗?

我的板子是pxa255,调用前我设置他为0,调用后没有仔细看
ziyun
驱动小牛
驱动小牛
  • 注册日期2003-07-28
  • 最后登录2009-05-31
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望109点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-12-10 16:01
刚才仔细看了一下,调用前后都是0!这说明什么问题啊?
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-12-13 08:27
兄弟, 我建议你在调用TransBusAddrToVirtual之前,把AddressSpace设为1。关于AddressSpace的含义,你可以参考HalTranslateBusAddress和MmMapIoSpace了。祝你好运!

 :P
Come on, let us drive the world.
游客

返回顶部