littleshrimp 发表于 2016-11-25 12:16

SensorTile MDK调试时程序无法运行的解决办法

本帖最后由 littleshrimp 于 2016-11-25 12:30 编辑

SensorTile MDK调试时程序无法运行的解决办法
应该也适用于其它STM32单片机
感谢@lb8820265 提供的解决方法

问题是这样的
在使用MDK的时候我用过一次MDK的Flash菜单下的Erase
将stm32的全部FLASH都擦除

然后下载程序再开Debug时程序进不到main函数
程序运行不起来
反复试过很多次都只是能下载不能运行
Disassembly窗口停留在 0xFFFFFFFE 0000      MOVS          r0,r0
点Run也没有反应

试过几个官方代码都不能运行

使用IAR下载同样的代码发现可以运行
但是只有在开启IAR调试时程序才能运行
如果把调试器拨掉单片机复位后没有任何反应

后来大神lb8820265说是bootloader被擦掉导致的
在ST-Link Utility里把BootLoader重刷一次再使用MDK就可以正常调试
文件在路径是\STSW-STLKT01\Utilities\BootLoader\STM32L476RG\BootLoaderL4.bin

另外既然是丢失BootLoader那么只要能刷回去就应该没问题
除了ST-Link Utility还可以使用J-Flash
适合使用jlink的朋友
方法是打开J-Flash Lite
选择单片机型号
打开BootLoaderL4.bin文件
然后点Program Device即可


另外需要注意
在使用MDK时Utilities设置里的Flash Download中的Erase Full Chip不能选
不然BootLoader还会被擦掉


leo121 发表于 2016-11-27 01:29

thx a lot{:1_105:}

Coder_William 发表于 2021-5-12 16:37

你好,我遇到了同样的问题,现象一样,F429平台的,请问官方的bootloader包在哪里下载的?
页: [1]
查看完整版本: SensorTile MDK调试时程序无法运行的解决办法