阅读:1234回复:4
dma 5933 缓冲区分配问题_让我头疼了2年了!!!
当一次DMA完成以后产生中断,如何开始下一次DMA呢,难道是重复前一次么?对于数据采集卡要求不停的接收数据,那么是不是要开2个KCommonDmaBuffer 呢,那么这两个buffer如何进行交替的使用呢?
|
|
沙发#
发布于:2004-02-09 19:33
一次DMA完毕,DMA缓冲区里的数据马上拿走,让新数据重新填充。
双缓冲机制可以提高实时性。建议使用!!! |
|
板凳#
发布于:2004-02-09 19:49
谢谢指点
我就是不太清楚如何用2个BUFFER存取数据,我用的是DriverStudio2.6,amcc5933 愁死我了 |
|
地板#
发布于:2004-02-10 09:47
需要两个中断。当板卡上的缓存满是,产生一个中断(5933 EA8)
在该驱动中在该中断的ISR中设置dma 中断条件并禁止ea8中断。 在dam中断处理程序中设置ea8 中断,禁止DMA 中断。这样循环往复。 COMMONBUFFER 开的一定要大一些,这样可以在运行其它顶层的应用程序时,减少数据的丢失。 |
|
地下室#
发布于:2004-02-10 21:40
谢谢wanghb369
你说的中断(5933 EA8)我不是很清楚,您能再详细点么?isr是DS向导自动生成的,那么这个中断(5933 EA8)如何加呢? |
|