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

6678EDMA运行问题

我使用EDMA例程运行,发现无法搬移数据。在将InstNum赋值1,也就是用1号EDMA时可以搬移,0号时不行。但是如果用simulator可以通过并搬移成功。请问这可能是什么原因?

我使用的开发环境是ccs5.2.1,MCSDK2.0.0,TMDSEVM6678L测试板,使用板载的XDS100V1仿真器。

调试过程中发现EMR经常产生写入。

另外有几个相关问题:

(1)手动触发传输成功有哪些前提条件?除了EMR为0,IER相应位置1,ESR相应位置1,还有别的寄存器上有要求么?

(2)如何初始化/清零所有寄存器?

(3)C6678中带有的三个EDMA除了支持通道数不同,有什么区别?

yu fei:

原准备附上程序,但是实在太长了,还是请看附件吧

yu fei:

麻烦还请各位专家抽时间解答一下,感谢!

Andy Yin1:

先回答你的几个问题:

1. 三个EDMACC在使用上没什么区别,主要是工作主频不一样,EDMACC0是1/2 CPU,其他的是1/3CPU;

2. 在配置好Paramset后,手动触发置位ESR的相应bit即可;

3. 对所需要配置的寄存器依次配置即可;

经常产生EMR有可能是在使能channel时Paraset为NULL或者前一个事件还未响应完就来了一个新的channel使能事件,附件的程序应该不会出现这种情况才对。你可以简化只测一个channel,只给一个使能事件,看看使能前后的paraset配置参数。

yu fei:

Andy你好,还有一些问题我不是非常明白

1、在手动触发的情况下,是否在EMR相应位为0,paraset完成,IER相应位为1时,将ESR操作置1,就一定能够传输?还是还有别的条件?

2、除了每个寄存器分别操作清零,有没有简便方法全部重置?

3、在重新load程序时,寄存器为何不会重置?

非常感谢!

yu fei:

请问怎么解决?

赞(0)
未经允许不得转载:TI中文支持网 » 6678EDMA运行问题
分享到: 更多 (0)