your_ying
驱动牛犊
驱动牛犊
  • 注册日期2002-05-13
  • 最后登录2009-04-03
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1240回复:6

再问nt下的内存映射问题

楼主#
更多 发布于:2002-08-13 16:48
我的板卡的PCI桥的内存映射需要10M内存,在2K下可以获的,可在NT下老出现MmMapMmMapIoSpace(
TranslatedAddress,
Length,
FALSE )错误,返回0,映射不了,该怎么办,请各位大侠指点!?
我需要帮助,我也会帮助别人
yjhleaf
驱动小牛
驱动小牛
  • 注册日期2001-11-04
  • 最后登录2005-11-23
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-13 21:03
  设备的配置空间大小与具体的机器有关,可能你的主板不支持。你试试分配16M或更大的看看。
忽如一夜春风来,千树万树梨花开。
your_ying
驱动牛犊
驱动牛犊
  • 注册日期2002-05-13
  • 最后登录2009-04-03
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-14 09:19
具体情况是这样的:分配几个这样的内存没问题,可我要支持好几块卡,头几块卡都能分配,再后来就不行了,在不同的机器配置上好像还不一样,有些机器能多分配几块,有的少,不知是什么原因?
楼上的提到:“设备的配置空间大小与具体的机器有关,可能你的主板不支持”,想请教,具体在什么地方啊,该怎么解决呢?
我需要帮助,我也会帮助别人
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-08-14 18:00
兄弟你有多少物理内存呀?
10M,还要好几块,那不是几十兆了,如果你分配的是物理内存,系统是否有这么多给你,你将物理内存加大些看看,还有你不一定都要分配非页内存,使用分页的行吗?(当然性能可能没有那么好了),但总比不能使用好,还有你有必要分配那么大吗,采集卡也不用分配那么多呀?10M,是很大一块了,能小点吗?如果能尽量小点
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
your_ying
驱动牛犊
驱动牛犊
  • 注册日期2002-05-13
  • 最后登录2009-04-03
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-08-15 08:47
我表达的可能不很清楚,其实不应该叫“分配“,而是一种映射,所以地址空间够就行了,并不一定要有物理内存支持的,当然物理内存大好!
我需要帮助,我也会帮助别人
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-08-17 23:27
我表达的可能不很清楚,其实不应该叫“分配“,而是一种映射,所以地址空间够就行了,并不一定要有物理内存支持的,当然物理内存大好!

你都怎么处理的,调用Mm开头的函数,具体是怎么处理的,如果你觉得有必要可将这部分Code帖上来,如果没有必要就算咯
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
WindThruEars
驱动老牛
驱动老牛
  • 注册日期2002-11-17
  • 最后登录2004-07-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-08-20 00:55
There is one possiblity that you are right up near the limits of what NT will allow you to map.There is a hard limit of 192MB allowable to be mapped by all drivers on an NT system, because of the way PTE\'s are distributed.  Thus, depending on what other drivers are installed on your system, you may or may not be able to map enough memory.  One thing to try would be to set

HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management\\SystemPages = 0x7000 (more or less)

Please refer to: http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q189327& for a dicussion about system PTEs.
我是假耳朵
游客

返回顶部