多PCI卡设备的WDM驱动安装时内存资源不够的问题

         今天在调试反射内存PCI卡,PC机内存是2G的,在PCI总线插槽上插三块同样的板卡,由于在系统启动阶段将每个板卡BAR3映射到主机内存的连接物理内存为128Mbit,三块卡所占的内存资源就是128*3=384Mbit,然而接下来要为每个板卡各安装一次驱动程序,驱动中为DMA通信时用AllocateCommonBuffer函数申请128Mbit的连接物理内存空间,这样分别将三块板卡安装完驱动后所占的总物理内存空间就是384Mbit+128*3=768Mbit,理论上是这样的,但前两板板卡安装驱动都正常成功,但为三块板卡安装时出现蓝屏(经检查是在xxxxxFreeResources函数的一个个人犯的低级BUG,修改下就好的),原因是在申请DMA缓冲区时申请失败,有可能是内核空间内存不够用了,系统才拒绝分配。今天为了解决这个问题反复重启计算机N次(N大于10)。。。后来我以为2G内存不够,我又从公司别的电脑上拆下一个2G存条加在机器上,发现问题照旧。

          要下班了,决定以退步方式测试下,就是试图将DMA申请缓冲区改为64Mbit,好,DDK编译,为三个板卡重新安装驱动,结果安装都成功。(但项目要求不是64Mbit而是 128Mbit的,现在只是排查问题)

          现在主要有点不明白:就是为什么4G的内存分配768Mbit的内存会不够用呢,不过在为每个板卡安装驱动程序用AllocateCommonBuffer函数申请的内存和FPGA的BAR3申请的各各128Mbit内存空间可能都是连续的物理内存,难道虽然4G的空间很大,但连续的物理内存却不够多才导致我的问题的????

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值