yjx2003
驱动牛犊
驱动牛犊
  • 注册日期2004-06-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分32分
  • 威望6点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1208回复:3

要读的数据不存在,DMA 也结束不了。如何处理

楼主#
更多 发布于:2005-06-06 19:14


我开始了一次dma 读数。读取PCI接口 后面的fifo 中的数据

希望读到的字节数已经写入pci core 的寄存器里,假设是

256字节

但是 fifo 中没有256 ,只有128字节

  这时驱动程序就停在那里等中断信号,但是没有要读的数据

 DMA 也结束不了。

 请问在驱动程序,或者应用程序如何处理

  是不是此时 PCI 接口应该产生中断信号
请向您的朋友推荐《名人传记》电子期刊 http://list.cn99.com/cgi-bin/getlsts?listname=zhuanji
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2005-06-09 20:54
用户被禁言,该主题自动屏蔽!
yjx2003
驱动牛犊
驱动牛犊
  • 注册日期2004-06-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分32分
  • 威望6点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-06-10 10:41
数据不存在的原因是误码造成的

所以发起dma时,驱动不知道已经丢数据了
请向您的朋友推荐《名人传记》电子期刊 http://list.cn99.com/cgi-bin/getlsts?listname=zhuanji
yjx2003
驱动牛犊
驱动牛犊
  • 注册日期2004-06-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分32分
  • 威望6点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-06-10 10:47
DMA最好传输的数据量是固定的。

可以做超时处理。
 


感谢
超时处理是在驱动程序里加的吗

能不能多讲点,我可以去查资料
请向您的朋友推荐《名人传记》电子期刊 http://list.cn99.com/cgi-bin/getlsts?listname=zhuanji
游客

返回顶部