lezy2925
驱动牛犊
驱动牛犊
  • 注册日期2002-10-26
  • 最后登录2012-01-09
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望7点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1622回复:5

读物理内存遇到个问题

楼主#
更多 发布于:2005-06-18 15:59
  我在xp下写驱动读物理内存,当用MmMapIoSpace映射内存之后,要不要再调用MmUnmapIoSapce.我用softice调试时运行到MmUnmapIoSapce就会重启,将它删除就能通过。
请老大指教下到底要不要使用MmUnmapIoSapce.
另外写物理内存应如何操作,是不是写映射的内存就可以了吗?[p:5]
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2005-06-19 09:34
你应该在IRP_MN_STOP_DEVICE处理函数中,调用MmUnmapIoSapce
lezy2925
驱动牛犊
驱动牛犊
  • 注册日期2002-10-26
  • 最后登录2012-01-09
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望7点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-06-19 10:36
我只是写个驱件驱动练下手,将物理内存复制出来就可以了,所以在映射内存之后,就用RtlMoveMemory复制,之后再用MmUnmapIoSapce退出,就只是这里有问题了。就只是下面几句:
gpioPtr=MmMapIoSpace(IoAddress,len,MmNonCached);
RtlMoveMemory(pvIOBuffer,gpioPtr,len);
MmUnmapIoSapce(gpioPtr);在softice中到这句就重启了.

我手头上也没有什么资料,能介绍下吗?
zhaock
驱动太牛
驱动太牛
  • 注册日期2002-01-26
  • 最后登录2018-06-02
  • 粉丝3
  • 关注2
  • 积分73328分
  • 威望362317点
  • 贡献值1点
  • 好评度226点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2005-06-19 11:04
MmUnmapIoSapce(gpioPtr);参数不对,应该MmUnmapIoSapce(gpioPtr,len);len等于你MmMapIoSpace时的len。
重起了?ice没有截住吗?
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-06-19 16:29
下面是引用lezy2925于2005-06-19 10:36发表的:
我只是写个驱件驱动练下手,将物理内存复制出来就可以了,所以在映射内存之后,就用RtlMoveMemory复制,之后再用MmUnmapIoSapce退出,就只是这里有问题了。就只是下面几句:
gpioPtr=MmMapIoSpace(IoAddress,len,MmNonCached);
RtlMoveMemory(pvIOBuffer,gpioPtr,len);
MmUnmapIoSapce(gpioPtr);在softice中到这句就重启了.

.......

DDK Online就是资料啊,奇怪!编译怎么通过的?
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
lezy2925
驱动牛犊
驱动牛犊
  • 注册日期2002-10-26
  • 最后登录2012-01-09
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望7点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-06-20 09:41
下面是引用zhaock于2005-06-19 11:04发表的:
MmUnmapIoSapce(gpioPtr);参数不对,应该MmUnmapIoSapce(gpioPtr,len);len等于你MmMapIoSpace时的len。
重起了?ice没有截住吗?


我后来将MmUnmapIoSapce这句删了,所以帖上来时打漏了。不过刚才又加上去,却没事了,奇怪。
游客

返回顶部