程序停在 BX R0

2019-07-21 01:43发布

(STM32F103)写定时器输入捕获的程序,单步运行时发现程序停在了
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP
中的    BX  R0  一行,貌似没能进入主函数,请问是怎么回事?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
23条回答
馨馨泡沫
1楼-- · 2019-07-22 02:12
回复【7楼】聚东风:
---------------------------------
我在原工程中,只做了一个流水灯的程序,是好使的。
所以我想可能是程序卡死在中断中了。
我的程序中有两个中断:定时器中断(得到输入捕获值)和串口通信中断
定时器中断的优先级比较高
可能是中断因此程序卡死么?
当  程序死在               BX      R0时 ,我stop后程序停在了中断的程序里面
聚东风
2楼-- · 2019-07-22 05:56
你开始写的好像是系统初始化的吧?
Laputa_fly
3楼-- · 2019-07-22 09:23
 精彩回答 2  元偷偷看……
Laputa_fly
4楼-- · 2019-07-22 11:52
我也遇到同样的问题,后来发现是工程建立的问题。
我的解决方法是进入Option ---target 将 use microLib 勾选上,具体的原因还不太明确。我的猜想可能是在程序中使用了C库(printf)的原因。具体关于use microLib  可以参照
http://www.openedv.com/posts/list/2685.htm
翱翔云端的鸟
5楼-- · 2019-07-22 17:31
 精彩回答 2  元偷偷看……
翱翔云端的鸟
6楼-- · 2019-07-22 22:30
果断还是跪了,一会行一会不行,是不是我焊接的时候出问题了,而且我的BOOT到地的电阻是100K的,为何一下程序能跑起来,一下又跑不起来!
我怀疑是芯片挂了!!

一周热门 更多>