程序是这样设计的:
先启动core1-core7等待,然后启动core0。
core0给core1-core7发IPC中断。
然后,core1-core7收到中断后,又都给core0发IPC中断,即设置IPCAR0的最后一位为1。
运行的结果是,core1-core7都能准确的收到core0发来的IPC中断,但是,在收到中断后,同时给core0发中断时,core0只能收到 core1、core3和core7三个核发来的IPC中断,运行很多次都是这样,这是为什么呢,core1到core7的代码都是一样的,是不是同时给IPCAR0的最后一位置1的时候会产生冲突,应该如何避免呢?怎么保证其他7个核同时来IPC时的时候不冲突?
这种问题在设计多核程序的时候应该很常见吧,希望能得到解答,谢谢