STM32L151 - 调试器在错误的地址启动..有时

STM32L151 - Debugger starts up at wrong address.. sometimes

我刚开始研究 STM32L151 微控制器。我已将调试器设置为在第一条指令(不是主指令)处中断,但是当我开始调试时,程序计数器停止在 0x1ff00b84,它甚至不是闪存的一部分(从 0x8000000 开始 -> 0x8010000)。

它变得很奇怪,因为当我尝试重置调试会话(无需再次下载程序)时,有几次它最终在我的启动文件 (startup_stm32l1xx_md.s) 和所有内容的第一条指令处停止运行s 顺利,直到下次我需要对设备进行编程并再次启动调试器。

我将 CoIDE 与编译器一起使用 "GNU Tools ARM Embedded 4.8 2014q2"。 我 运行 在一些刚到货的自定义硬件上。我使用 STM32 探索板上的 SWD 对芯片进行编程。

希望有人有想法?

该地址在引导加载程序 ROM 中。此行为表明 BOOT0 引脚可能悬空;确保它连接到 GND 以从闪存启动。