各位专家好:
最近在做EDMA多核并行传输时遇到一些困难,有两个问题想请教各位,希望能得到大家的帮助!
EDMA中的channel可看做是一个传输事件,用于触发一个EDMA通道进行数据传输。记得Andy在一个帖子中曾说过,“IPR寄存器是用来记录产生中断的EDMA channel源,从低到高每一个bit依次对应相应的channel,如IPR bit0对应channel 0, IPR bit1对应channel 1,所以如果查询的话就是看channel0或1的任务是否完成并产生中断。” 就这句话我现在有两个疑问。
问题1: 对于PingPong模式的数据传输,是否只是用一个channel进行数据传输?如果是,那么Ping PaRAM和Pong PaRAM中所设置的TCC是否是一样的的?在使能中断时,是否只需将IER中这一个channel所对应的位置1呢? (我是看到有一个PingPong例程中,只用了channel 0,但是Ping PaRAM和Pong PaRAM的TCC分别为1和2,在中断时能寄存器中使能了0和1位,对应于上面一句话也就是说这里的IPR bit0和IPR bit1均对应于channel 0)
问题2:6678的EDMA模块中有3个CC,共计10个TC,也就是说可以允许10个channel的并行数据传输,每一个channel对应一个TC,不知这样理解是否正确?我想请教的问题是,在进行EDMA并行数据传输时,CSL中哪一语句是将channel和TC做一一映射关系的,是CSL_edma3HwChannelSetupQue(hChannel,CSL_EDMA3_QUE_0);这句话吗?其中的Que_0—Que8又作何理解?
问得比较多,也比较琐碎,还望各位专家见谅,希望能早些得到帮助!
谢谢各位!