工程师您好 程序中要求core0不断的给core1发IPC中断,
因此我设置了 core0中: for(i=0;i<10;i++){ ipcgr1最后一位置1发中断; }
core1中: ISR { NUM++;//收到一次中断后计数器+1 }
但是程序运行完,发现core1的计数器的置为2,即10次中断只能相应2次中断。
请问,有什么办法,可以做到core0不断发中断,然后core1不断接受中断呢?我在for语句中加了延时操作,但是没用。
Andy Yin1:
IPC中断如果前一个还没相应完成,后一个过来会导致中断丢失,对于这种不断中断的存在建议使用Navigator的QPEND Q产生中断。
另外你这个只是自己做的实验,还是真正应用存在的场景呢?建议在设计时尽量避免这种同一段时间存在许多中断的方式。
hao wu1:
回复 Andy Yin1:
Andy Yin 您好,Navigator的QPEND Q不会用,如果用ipc加延时,能解决这个冲突的问题吗? 如果能解决,应该怎么加多少延时,怎么加? 谢谢!
Andy Yin1:
回复 hao wu1:
延时多少与具体的中断间隔有关,你可以自己测试确定。