STM32 烧录提示 Flash Download failed - Cortex-M3 的解决方法

在制作STM32F103C8T6核心板用于项目设计的时候,遇到程序移植中,报错Error: Flash Download failed - “Cortex-M3”

关于这一问题解决方案可能的问题如下:

1、芯片Flash型号选择错误

STM32系列芯片的内存大小不同,这里用的是C8T6芯片,这里选用128K的Flash(C8T6芯片官方给出的内存是64K,但是这里用128K也是可以的),不同的芯片对应的内存如下(源自官方数据手册)

更改方法:

  • 主菜单中打开Flash->Configure Falsh Tools配置窗口(keil的魔法棒),切换到“Utilities"页。

  • 按“Setting"按钮进入“Flash download setup"配置窗口

  • 在“Flash download setup"配置窗口点击“Add”按钮进入“Add Flash Programming Algorlthm"窗口

  • 在“Add Flash Programming Algorlthm"窗口,根据你实际使用的芯片选择

  • 然后一路按“OK”按钮退出配置窗口。

2、芯片类型选择错误

在魔法棒的Device选项中,选择你的芯片

3、启动文件选择错误

把以前芯片对应的启动文件改为现在对应的文件,更改启动文件后需要更改宏定义,在魔法棒的c/c++栏目内

关于型号的选择:

cl:互联型产品,stm32f105/107系列

vl:超值型产品,stm32f100系列

xl:超高密度产品,stm32f101/103系列

ld:低密度产品,FLASH小于64K

md:中等密度产品,FLASH=64 or 128

hd:高密度产品,FLASH大于128

4、下载器配置不正确

在使用ST-Link ,J-Link或者其他仿真器时,要在选项内改变下载器(有的芯片可能在下载速度方面有限制,可以将下载速度降到200Khz)

5、下载问题(蜜汁问题)

可以通过,先点击主界面中Erase擦除,然后将板子断电,再上电重新下载。