相同的代码在两个stm32F103CB上运行结果不一样

2019-07-14 15:53发布

求教个问题
我有两个STM32F103CBT6的板子,下载了同样的代码,前后没有编译。
结果一个正常运行,一个一直启动后一直运行到一个固定位置就复位,有没有高手碰到过这个问题?
运行不正常的板子,运行其他版本时,有时看着也挺好的。版本间没有本质差异,没有做堆栈相关操作。程序挂掉时,是操作ARM核的特殊寄存器时出的问题。
LOS_IntRestore
     MSR     PRIMASK, R0
     BX      LR
在BX LR时,pc变成了0xFFFFFFFF

希望高手们给解答下。
谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
adcmvp
1楼-- · 2019-07-14 21:11
谢谢,我的问题没有描述清楚
不正常的板子,启动后一直运行到一个固定位置就复位
运行其他版本时,有时看着挺好的,版本间没有本质差异,没有做堆栈相关操作。程序挂掉时,是操作arm核的特殊寄存器时出的问题。
LOS_IntRestore
     MSR     PRIMASK, R0
     BX      LR
在BX LR时,pc变成了0xFFFFFFFF
xianhaizhe
2楼-- · 2019-07-15 01:56
能确定到固定位置挂掉,应该比较接近了,确认一下是使用哪个模块出的问题,可以检查一下这个模块用到的硬件部分。比如焊接问题等等

也可以具体看一下程序是不是某些指针操作不对,或者某些外设的结构体配置少写了?
huzp_bbs
3楼-- · 2019-07-15 02:24
硬件的配置是否一样。还有是否都清理干净再烧录的。

一周热门 更多>