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

使用C6455的EDMA时,手册中例程遇到的问题

例程中有一个非猝发的传输方式,直接McBSP中读取数据,我没有用MCBSP,而是用别的CPU触发的方式,用for循环向同一个地址写入数据,模拟一个和例程相似的环境,按照例程给的PARAMset进行配置,但是只能进行一次EDMA的操作,EDMA的完成中断也触发了,数据也搬运正常,但之后程序就跑死了,不能正常触发下一次EDMA,而且就算重新加载程序也不行,必须把DSP复位才可以

noaming:

你好,可以考虑在程序中添加上,EDMA完成搬运之后重置PARAMset参数的代码。

cong li:

回复 noaming:

试了一下还是不行,使用这个例程时,都需要对那些寄存器进行配置,我是不是少配置了什么,OPT的选项是不是也有问题,

寄存器配置和Param set设置如下,请问有什么不对吗,用的是35通道

DRAE0 = 0xFFFFFFFF; DRAEH0 = 0xFFFFFFFF; IECR = 0xffffffff; IECRH = 0xffffffff; ECR = 0xffffffff;ECRH = 0xffffffff;

EESRH |= ((UINT32)1 << (35 – 32)); IESRH |= ((UINT32)1 << (35 – 32));

OPT = 0x00123000; SRC = (unsigned int)g_pui32_dmabuffer; BCNT_ACNT = 0x00100004; DST = (unsigned int)g_ui32_dmabuffer2; DSTBIDX_SRCBIDX = 0x00040000; BCNTRLD_LINK = 0x0000ffff; DSTCIDX_SRCCIDX = 0x00000000; Rsvd_CCNT = 0x00000000;

noaming:

回复 cong li:

你好,EDMA第一次能够成功,不少别的配置,建议你在触发EDMA的时候,单步运行,检查EMDA触发后Param set里面的值是否和预期一致。

赞(0)
未经允许不得转载:TI中文支持网 » 使用C6455的EDMA时,手册中例程遇到的问题
分享到: 更多 (0)