This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
MCASP: enable DMA 中断,enable 事件中断,
EDMA配置: enable 传输完成中断,enable传输完成code,dma通道9,使用A 同步每次只传输一个array的字节数。
通过如上配置时,EDMA能够持续搬运数据,但当连续发起EDMA时,会出现数据不连续情况。怀疑是由于EDMA切换操作时会有数据丢失。
因此通过打开 McASP的AFIFO,达到一个缓冲使用。AFIFO可以设置缓存中断个数,当条件达到时再向EDMA controller发送edma 请求。
但打开此开关后,EDMA收不到数据,查看McASP的AFIFO读缓存状态寄存器是满的,不知为何EDMA没有搬运数据。
请大虾帮忙解答一下。
建议您仔细研读下TRM上关于EDMA的工作原理,如果工作不正常,肯定是哪里的配置流程不符合规范。
针对代码可以参考下:http://processors.wiki.ti.com/index.php/AM335x_EDMA_Driver%27s_Guide
我的是本来没有使用MACSP的AFIFO是可以搬运数据的,然后使用AFIFO后,EDMA的接收channel源地址和发送channel目标地址由缓存器地址改为了McASP 0 Data,还是没有搬运,连中断都没有产生,你的问题解决了么?请教一下,谢谢了