设计电装了两块C6727板子,软件有两个外部中断,1ms中断和串口中断,调试过程中发现程序在一块板子运行一段时间后无法正常进入中断子程序,但是相同的程序在另外一块板子上并无此情况,中断运行正常。
出现故障后发现DSP寄存器例如CFGMCASP2值发生更改。将程序稍加修改增加几句无关紧要的代码,重新编译后,故障消失。程序中某些算法封装为库文件,如果将库文件改为源代码编译后,故障消失。算法中在某些情况下会出现除以0的情况,数据会变为极值,这是否会导致DSP寄存器被修改吗。算法程序和数据分配的空间并没有对寄存器的操作。
请问这种不进中断的情况,是硬件还是软件故障,从哪些方便着手排查。谢谢了!!!