您好!
我最近在6678EVM上试验EDMA3,使用了论坛提供的KeyStone1的一些代码,
进行EDMA3手册里提到的Subframe Extraction Example,即执行2D-to-1D的传输。
在使用过程中发现,只有CC0的通道0、CC1的通道0和CC2的通道0这三个
通道才可以进行上述的操作(所有的144个通道在执行Block Move操作的时候都是可用的)。
我进一步发现,比如对于CC0的通道(CC0_CH1),我通过手动往CC0的ESR寄存器里写2,
来触发EDMA3 CC0_CH1的传输,按我的理解,那么CC0的IPR(OPT参数里已允许传输结束后发中断)
寄存器应该在传输结束后被置2,但我却发现居然是被置1。然后程序在轮询IPR寄存器里死循环,
而数据也确实没有传输成功。
请问这是怎么回事,谢谢!
Andy Yin1:
像你这种操作,源目的地址在LL2、SL2及DDR时,所有通道都是可以的,请检查你的EDMA配置,如channel与PaRAM set的映射关系、channel是否使能等。
IPR中置位bit取决于channel PaRAM set OPT中的配置参数TCC。