Over
驱动牛犊
驱动牛犊
  • 注册日期2001-09-26
  • 最后登录2002-08-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:998回复:0

Amcc5933的DMA传输问题求助!

楼主#
更多 发布于:2002-02-06 10:46
具体情况如下,硬件用windriver作驱动可以比较稳定在4MB/s,几乎不出错。

用从驱动开发网上下载的那个pci-wdm-v1.4.zip驱动程序,无论工作在10MB/s,还是4MB/s,甚至100KB/s,都会产生相同的错误。所以肯定是驱动的问题。
错误的现象如下:
收到的数据中会产生跳变,每次跳变字节数必定为4或12或16或24,最多24字节,而且跳变的内容肯定是其后不远(间隔8或12或16或24个字节)处的数据,如下所示:
。。。03 04 05
“1a 1b 1c 1d ”
0a 0b 0c 0d
0e 0f 10 11
12 13 14 15
16 17 18 19
1a 1b 1c 1d。。。
你看应该是06 07 08 09 的地方变成了1a 1b 1c 1d,而且必然是其后不远处的数据(距离是4字节的倍数)!!


其它情况:
1、如果只把数据从设备dma到用户内存,等dma结束后再把内存中的数据写到硬盘,数据就不会错!!
2、如果dma的同时也写盘,数据会出错,20-50个/400MB!!
3、如果设备和显卡共用一个中断号,即使采用1的方法,当屏幕有变化的时候也会出错!!
4、当采用1的方法时,另外开一个进程写盘,数据也会错!
当我们仰望星空,其实是在回顾历史
游客

返回顶部