有专家帮忙吗?我现在如果单独循环1024次从DDR3里用DMA读数或者存数都没有问题,但是如果一旦单循环内又读又存数居,在循环几次后在读数据时就会出现掉包现象.请问是不是DMA内部有什么机制造成了这种冲突了?谢谢了
我读取数据是从DDR3到L2,采用的是例程中的PING_PONG缓存,每个核分别用的不同的映射寄存器和DMA通道。读取数据时我8核用的通道分别为0,2,4,6,8,10,12,14.
我存储数据时用的DMA方式就只采用PONG缓存(因为用PING_PONG缓存好像实现不了多核同时从L2到DDR3存数),每个核分别用的不同的映射寄存器和DMA通道,存储数据时8核使用的通道分别为16,18,20,22,24,26,28,30.
不管读取还是存储每个通道都在结束时关闭了DMA通道的。
谢谢