STM32 调试停留在LDR R0, =SystemInit,不能自动Run to main

可能的原因

  1. 堆栈空间默认的太小

默认startup_stm32f10x_hd.s中 Stack_Size EQU 0x00000400,如果改大之后,可能调试就可以正常运行。

  1. 出现最多的情况就是设置的断点过多,可以把断点全部删除试试看,STLink只能设置5个

  2. 勾选如图

4. 打开Option选项卡,找到Floating Point Hardware ,默认选项为Double Precision,将Floating Point Hardware ,默认选项为Double Precision改为:No Used,如图3,这样再次调试就能正常调试了。

REF

https://www.cnblogs.com/YuQiao0303/p/10020402.html

原文地址:https://www.cnblogs.com/emanlee/p/14269514.html