技术支持你们好~~我用的是Texas Instruments\pdk_C6678_1_0_0_16\packages\ti\csl\example\edma下面的edma_test.c改写的EDMA程序。
基本思路是:对DDR3中的一个矩阵一行(或者一列)用EDMA搬移至L2中,进行算法处理,最后把处理后的数据搬移至DDR3中。
这样的话数据的搬入和搬出是需要暂用CPU的时间的,特别是跳地址取或者存数据的时候时间会变得更加多。而实际上DMA应该是不暂用CPU时间的,应该只要配置寄存器后触发一下就可以了(201里面好像就是这样的),想问一下怎么去掉EDMA搬移数据的时间呢?上次Anddy说是可以通过排流水,能具体介绍下吗?还不是很了解这个内容,有没有例程可以参考下呢?
还有一个问题是:单核处理的时间本来比较少,但是用单核的程序改写成多核程序,做了一些同步后发现时间会多的很多,比如单核处理时间是0.08s,但是多核处理做了同步后时间变成了0.14s。
因为多核的程序就是由单核的程序改写的,只是每个核处理不同的数据块而已,那么每个核的处理时间基本上和单核应该差不多才对啊,仅仅是多了几个同步的时间,按道理说同步不会特别费时的啊~麻烦技术支持解答下,谢谢~~~~~~