如题,有大神有多核同时EDMA传输的例子(pingpong缓存)吗?要实现多核同时从L2 向DDR3传数.帮帮小弟,谢谢
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传输的例子(pingpong缓存)吗?要实现多核同时从L2 向DDR3传数.帮帮小弟,谢谢
Andy Yin1你好,其实现在困扰我的问题主要是在一个循环里DMA又取又存有冲突哈.现在如果单独的多核同时DMA取数(DDR3->L2)或者DMA存数(L2->DDR3)没有问题,我现在只用了PING缓存.但我发现个很奇怪的问题,希望Andy Yin1帮我看看谢谢...
我的程序架构:
(8核同步情况下)
for(i=0;i<1024;i++)
{
(1)DMA传输(DDR3->L2);
(2)读取DMA传输到L2里的数据;
(3)DMA传输(L2->DDR3);
(4)读取DMA传输到DDR3里的数据;
}
这样的话在第二步里读取L2的数据就会发现DMA传输会出现掉包的现象。但第四步就不会出现掉包的现象。其中(1)和(3)中的L2和DDR3的地址都是不一样的。但是我现在调整下顺序就不会出现掉包的现象如下:
for(i=0;i<1024;i++)
{
(1)DMA传输(DDR3->L2);
(2)DMA传输(L2->DDR3);
(3)读取DMA传输到L2里的数据;
(4)读取DMA传输到DDR3里的数据;
}
这样在读取(3)和(4)中的数据时就都不会出现掉包的现象。。。。但这样又不符合我的主程序架构,请问Andy Yin1这是哪里引起的冲突了?急求解答这个问题已经困扰我半个多月了