wjakzaza
驱动牛犊
驱动牛犊
  • 注册日期2005-07-27
  • 最后登录2009-08-03
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望15点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1308回复:2

请教高手: 9054 每次DMA传输大小问题

楼主#
更多 发布于:2007-09-09 23:04
本人按照武安河的例子编写PCI9054驱动,采用公用缓冲区作为DMA数据区,先定义了
KCommonDmaBuffer    m_Buffer;
然后初始化分配了大小:
m_Buffer.Initialize(&m_Dma,1024*32);

按理说每次DMA传输最多可以传32KByte,我也实现了,但当换了台机器每次只能读512Byte,超过512Byte应用程序就会死在那.

DMA每次传输大小跟初始化分配的Common Buffer大小有关外,还跟哪些因素有关?

是不是DMA传输分配不到需要的那么多非分页内存就会造成应用程序死机?
cch7701
驱动牛犊
驱动牛犊
  • 注册日期2002-08-25
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-09-10 17:23
Common Buffer的分配是使用注册表的,在注册表里有一个键值决定大小,每次修改完要重启系统,才能生效
wjakzaza
驱动牛犊
驱动牛犊
  • 注册日期2005-07-27
  • 最后登录2009-08-03
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望15点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-09-10 22:36
请问修改注册表的哪个位置的值?非常感谢!
游客

返回顶部