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

请教一个关于OMAPL138的EDMA控制器不工作的问题

你好,最近被一个EDMA相关的问题困扰多时,请各路大侠帮忙分析一下,具体情况如下:

EDMA通过事件触发模式,自动去读取McBSP的DRR里面的数据,刚开始时,EDMA工作是正常的,但是,经过一段短暂的时间(没有什么规律的),突然EDMA就没有进行数据的传输了。出现该现象后,查看McBSP的SPCR寄存器的

RFULL

RRDY

RRST

三个标记,均为1,说明McBSP是存在数据,并且向EDMA触发了接收事件,但是,EDMA并没有进行数据的读取。

请问该问题应该怎样分析原因,有没有相关的案例或者文档,提供参考一下!谢谢!!!

Shine:

请问EDMA中断处理函数是否按照18.2.9.2 EDMA3 Interrupt Servicing上的步骤?
www.ti.com/…/spruh77c.pdf

user4755476:

回复 Shine:

是按照技术手册上的步骤实现ISR的!谢谢!

user4755476:

回复 Shine:

EDMA不工作后,可以看到IPR的状态为零,说明那是确实也没有Interrupt Pending。

Tony Tang:

看一EDMA的EMR寄存器,看是不是有事件丢失,导致EDMA不再响应。

另外尽量把McBSP的FIFO用起来,有助于消除这种问题的发生。

user4755476:

回复 Tony Tang:

你好,有使用McBSP的FIFO的例子,提供参考一下吗?我按照技术手册的说明,使用RFIFO时,发现EDMA的Buffer里面只能获取取到第一个数据,后面就好像没有数据更新了!另外,使用RFIFO时,EDMA是读取RBUF的数据,还是读取DRR里面的数据呢?从DRR里面看,McBSP是有接收到数据的,就是EDMA好像只拷贝了第一个数据就停止了一样!

赞(0)
未经允许不得转载:TI中文支持网 » 请教一个关于OMAPL138的EDMA控制器不工作的问题
分享到: 更多 (0)