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.

C6670 EDMA 只有core0可以搬数据



我有几个问题,附件是一个非常简化的DMA例子,可以实现一个核内数据的搬移,但是只有Core0可以用,其他Core都一直在等待interrupt,一直在while中出不来。。


while (irqRaised1 == 0u)
{

      printf ("waiting for interrupt...\n");
}

也就是只有core0在transfer complete之后触发了完成中断,修改了irqRaised1。

其他核并不能产生中断。

   我理解的是,根据手册:完成中断有两种类型,一种是Global Transfer Completion Interrupt,一种是Transfer Completion Interrupt Shadow Region x。

为了使每个核都可以搬移数据,是不是需要采用第二种方式?这是由哪里配置的?

unsigned int gblCfgReqdArray [NUM_DSPS] = {
0, /* DSP#0 is Master, will do the global init */
1, /* DSP#1 is Slave, will not do the global init */
1, /* DSP#2 is Slave, will not do the global init */
1, /* DSP#3 is Slave, will not do the global init */
};

simplify_edma3_st_sample.rar