我在TMS320C6678LE评估开发板上,在SYS/BIOS下使用IPC和EDMA_LLD进行多核间的通信和数据搬移时,出现EDMA event 丢失或核陷死在edma3CCErrHandler()函数中,不知道如何解决,也找不到问题的原因,请各位大侠支支招,谢谢了
具体的情景是:在一个task中建立了一个for(i=0;i<6;i++)循环,循环体内执行了四次EDMA数据搬移,第一次执行从MSM到L2的矩阵数据块搬移,第二次执行L2到MSM的矩阵数据转置搬移,第三次执行从MSM到L2的矩阵数据块搬移,第四次执行从L2到MSM的矩阵数据块搬移
问题是:edma执行过程中,如果edma的等待中断语句跟例程一样,在while(irqRaised==0u)时打印等待信息printf(“waiting for interruptting。。。”),则不会出现问题,但程序的实时性太差了,满足不了工程需求,一旦去掉打印函数或换成空的for循环语句,就会出现上述问题。