-
硬件仿真观察过,在出现计算错误的时候,硬件堆栈边界值没有改变,推断没有溢出!!
-
数据没有溢出,观察A与B数据都是正常的,就是乘积后错误,觉得是程序内部中断影响,或者是编译器设置问题,就是硬件堆栈设置。
-
问题补充,并不是每次都出错,偶尔会出现错误!
-
谢谢大家,问题已经解决了,是我擦除的程序中包括中断函数了,因此在使能中断后,擦除的中断函数值为0xFFFF,因此进入非法中断
-
谢谢大家帮忙,首先我掉用flash API的函数是在RAML0中运行的(从flash搬移到RAML0中),其次我在调用flash API(flash_Erase)时擦除不成功。于是我在调用flash API 之前屏蔽了所有中断(中断写在flash中),然后进行擦除操作,擦除成功了,调用flash_Erase结束后,我又使能了中断,结果就出现程序进入非法中断中。不知道怎么解决?