我在工程的MSMC中创建了3M的地址空间,然后分为乒乓模式分别利用EMDA向前半部分和后半部分进行传输。用的InstNum为0,Queue为1,AB模式传输,一次传输为32*4096个float数据,Acnt为128,Bcan为4096,。
我在core0中配置通道1往MSMC中的前半部分传输, 触发通道后core0进行别的计算操作,计算操作完成后我判断EDMA是否搬移完成,在IPR置位后,我发现在目的空间中,前面16个数据传输成功,然后接着又240个数据是0,接着又有成功传输的数据,而且中间穿插着有很多的0值,如此一致反复,而且传输成功的数据是正确的。
然后我在触发EDMA之前,使L1d的Cache无效一下,在core0计算操作完成,EDMA的IPR置位后,我发现上述问题已经解决,然后我从后往前看MSMC中的数值时,发现在很靠后的位置,又出现了上述情况,而前面的地址空间已经全部搬移成功。
接着我又尝试着使core0只进行EDMA搬移,中间不进行任何操作,然后发现上述问题仍然存在,请问我该如何解决?
我的MSMC没有进行设置。