This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

edma3 sort 行列转置时 搬移数据有event miss,请教几个问题



1 文档中解释在sort数据的时候,需要channel chain 到自己,请问如何实现

2 chain 和link 之间的关系是什么,一致没太明白

3 在对行列进行转置t数据的时候 有许多的evenv miss产生,但是目的地址的数据还是搬移到了,请问这是什么原因呢?有evenv miss应该是不正确的吧?,可是数据为何还是正确的呢?

paRam set 配置如下

4 opt 中的tcc 应该如何理解,IPR[tcc]置位比较好理解,但是CER[tcc]如何理解呢?和OPT[ITCCHEN],OPT[TCCHEN]有何关系?

  • 1 在你的行列转置中已经使用了channel chain的属性,即需要根据应用配置OPT中的ITCCHEN及TCCHEN,同时将配置TCC为需要chain的channel num;

    2 chain是在完成某个传输后产生一个事件自动触发由TCC指定的channel传输;link是在完成与channel映射的param set的配置后,根据LINKADDR的配置将下一个PaRAM set中的配置copy到当前channel mapping param set中,但是不会执行;

    3 PaRAM set没有问题。你说的event miss是查看EMR寄存器中相应bit有置位么?channel启动方式是怎样,是一次触发还是手动多次触发,如果是一次触发保证在PaRAM set配置完后再触发,如果多次触发保证前一个传输event被消化后在触发;

    4 某一个channel传输完成一次后可以产生一个事件chain下一个channel,或者产生硬件置位IPR中相应的bit,chain的channel及IPR中置位的bit都是由TCC来制定的。

    请对照EDMA3 Controller user guide SPUGS5,其中对各个配置域及状态都有详细的说明。

  • 好的,多谢您的回复,我找问题的原因了,就是使用了多次触发导致的event miss

    我还有几个个问题

    1 在使用多次触发的时候ITCCHEN 就不要配置了,TCCHEN呢?在什么时候需要配置?

    2 如果使用多次触发,如何保证前一次的传输event被消化呢?

    3 使用多次触发和使用单次触发(chain to self),哪个性能会更高呢?

  • 针对你的行列转置应用,当然是使用chain方便高效,使能ITCCHEN,TCCHEN不需要使能。TCCHEN是在完成当前param set后chain下一组配置的时候使用。

    可以通过查询EER register来确定相应的bit已经被清掉,说明时间已经入队列。

    建议你好好看看之前提到的EDMA user guide。