我的产品最近进行硬件升级,CPU采用MSP430F5438A芯片(之前采用的芯片是MSP430F5437),程序也是在之前的MSP430F5437版本的程序移植过来,现在出现的现象是:烧写80块芯片板子,有三分之二的板子程序能够正常跑起来,有大约10块的板子程序总是跑不起来,我用IAR开发平台进行程序仿真发现如下问题:
程序就仿真不了了!
问题:
(1)看现象貌似是堆栈指针跑飞,可以为什么有三分之二的板子又能正常跑呢?
(2)为什么仿真的时候有时候单步它也能正常?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我的产品最近进行硬件升级,CPU采用MSP430F5438A芯片(之前采用的芯片是MSP430F5437),程序也是在之前的MSP430F5437版本的程序移植过来,现在出现的现象是:烧写80块芯片板子,有三分之二的板子程序能够正常跑起来,有大约10块的板子程序总是跑不起来,我用IAR开发平台进行程序仿真发现如下问题:
程序就仿真不了了!
问题:
(1)看现象貌似是堆栈指针跑飞,可以为什么有三分之二的板子又能正常跑呢?
(2)为什么仿真的时候有时候单步它也能正常?
互换芯片了,把好的板子的芯片换到不好的板子,也是不能跑起来,后来重烧程序了又能正常了,感觉每次重新烧写程序的状态都不一样,有时候能够跑起来,我用的是IAR平台,会不会和程序烧写的时候堆栈的分配不一样,导致有时候堆栈溢出有时候不会?我是在仿真状态下烧写的程序!