阅读:1374回复:4
问题:PCI9054驱动DMA传输时,出现等待现象,请指教!
PCI9054驱动DMA传输时,出现等待现象。程序失去响应,我用softice调试时发现,程序在几条汇编语句里不断循环,跳不出来,我觉得象是在等待什么。希望专家指教!
|
|
|
沙发#
发布于:2004-09-28 18:18
另外,我还有个问题。如果不使用DMA,如何读取采集卡上FIFO中采集的数据?KMemoryRange对象可以访问FIFO吗?
|
|
|
板凳#
发布于:2004-09-29 09:21
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2004-09-29 10:30
版主说得没错。
这个板子结构简单,一个9054一个cpld一个fifo。fifo半满16k双字,就是64k字节。我是按照武安河书上的pci例子做的。结果出现了上面的问题。后来我将DMA开辟的缓冲区由原来的2048字节扩大到64k,结果问题就解决了。 我想可能是因为原来dma的缓冲太小导致传输次数过多,时间过长,而数据采集的速度相比较而言要快些,所以dam总是无法完成传输,因此ReadFile也无法返回。 不知道这样理解对不对,望版主指正! |
|
|
地下室#
发布于:2004-09-30 16:03
用户被禁言,该主题自动屏蔽! |
|