你好。
我在程序中的设计是这样的,为了实现IPC有效性测试,我将core0设为主控核,core0向core1,core2和core3发送IPC中断,当core1,core2和core3接收到core0的中断后进入中断服务函数,这三个核的中断服务函数只是执行向core0产生IPC中断,其中core1发送ipc中断的标号为0x10,core2发送中断的标号为0x20,core3发送中断的标号为0x30。当core0接收到中断后对IPCAR0中的标号来进行检测。可以得到IPCGR0的值为0x60,我用IPCAR0清除以后,core会再进一次中断服务程序,第二次IPCGR0的值为0.
但是我对之前的三个中断服务程序延迟发射core0的IPC中断,其中core1发送ipc中断的标号为0x10,core2发送中断的标号为0x20,core3发送中断的标号为0x30。间隔10ms发,那么core0中断服务程序进入3次,每次的IPCGR0值各不同。
为什么进入中断服务程序次数会不同?
另外,IPC中断事件可以同时对应不同的中断向量么?
xingacy:
你好 我也想用这种方法,但是我发现我的IPCAR给相应位置赋值后IPCGR和IPCAR 的SRCC不会清零,而且我的核0 也进不了中断ISR。。你知道是什么回事吗?