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.

多核多通道EDMA从DDR3存取数冲突?



有大神帮忙吗?我现在如果单独循环1024次从DDR3里用DMA读数或者存数都没有问题,但是如果一旦又读又存数居,在循环几次后在读数据时就会出现掉包现象.请问是不是DMA内部有什么机制造成了这种冲突了?谢谢了

  • EDMA的读和写会不会有冲突,得看用户如何实现,理论上来说都是可以按照没有冲突的方法类实现。

    因此LZ你的问题太泛了,要更具体一些,说明你怎么实现的?比如哪个通道读,哪个通道写,怎么判断读完成,怎么判断写完成等等

  • King Wang1你好,我读取数据是从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通道的。

    谢谢

    King Wang1
    帮忙看看出在什么原因上面
  • 请大神帮帮忙啊,急求答案。谢谢了