主要问题可以归纳为:
多核共享一个全局变量flag,flag存放在MSMC中。
core0同时发中断给core2、core3、core5,三个核对flag做更新。
cache一致性的问题已经考虑过应该没问题。
三个核同时操作同一变量也是通过信号量来实现的。
而且昨天程序的结果还是正确的。
今天对程序做了修改,程序就不行了,修改不涉及到上述内容(增加了些变量定义和初始化)。
以上为背景。
主要问题是:增加一个变量的定义后,结果就会有变化?不知道为什么会有这样的问题,一个变量的定义会造成这样的影响?
卡在这个地方了。。。