TI中文支持网
TI专业的中文技术问题搜集分享网站

连续多次启动EDMA3出现问题

专家,您好!

最近在看6678 EDMA3,写了一个简单的一维传输,用EVM6678L验证。基本是按照ug操作各个寄存器,手动置esr位启动dma。现在的问题是:

我想连续启动多次dma,就在一个循环里多次做以下操作: 1)初始化缓冲区 2)清中断 3)设置PaRAM 4)手动启动dma 5)等待dma完成后比较两个缓冲区的内容。另外通道设置等寄存器操作都在主函数一开始完成了。但是从core0 L2传到MSMC,只有第一次能够成功,后面的dma能产生完成中断但是接收缓冲区没有变化。如果从core0 L2传到DDR3就没有这个问题。请指教!

Andy Yin1:

由于你在每次DMA完成后都有读取MSMC的内容,怀疑有可能是cache原因导致的,建议在比较完成后进行invalid cache;还有就是EDMA时L2的地址要使用全局地址。

赞(0)
未经允许不得转载:TI中文支持网 » 连续多次启动EDMA3出现问题
分享到: 更多 (0)