TI工程师您好,参考IPC_example_on_6678例程,使用核1,2,3,4,5,6,7,向core0发送核间中断,但是有时会出现core0只收到了6次或3次中断的情况,请问该如何让解决
user4683768:
回复 Shine:
shine,每次接收到中断进入中断服务函数后,会先读取IPCGR寄存器的值然后写入IPCAR寄存器,这样应该就实现你说的清除了,但是还是会出现我提到的问题
Shine:
回复 user4683768:
先试一下两个核的时候会不会丢中断,再一个个核加上去。
user4683768:
回复 Shine:
shine,我在测试时发现 使用
read_ipcgr = *(volatile Uint32 *) iIPCGRInfo[coreNum];
*(volatile uint32_t *) iIPCARInfo[coreNum] = read_ipcgr;
并没有清除掉IPCGR对应SRCS位的1,这是为什么呢?
Shine:
回复 user4683768:
请问是所有的核都不能清0吗?ISR中断里实现什么其他功能了吗?有没有可能在退出中断之前,主核又写IPCGR了?