多半是芯片错了,flash不匹配,我是c6t6,例程是c8t6
现象
在kail上,显示stlink连接正常,但是Download的时候显示Error:Flash Download Failed-“Cortex-M3“
。
开始百度出来还以为是flash被锁了,下了个stm32 st-link utility,发现可以将内存读出来,并没有报错,写程序的时候显示大概意思是文件比flash大,没办法写进去(因为这个程序是c8t6的例程编译出来的十六进制文件),后来仔细看才发现我的程序是c6t6,flash 32k low-density,而c8t6是128k midium-density.
。
解决方案
将c8t6的例程在keil选对芯片编译再下载
修改例程的芯片有三个地方需要修改
- Device
复制到项目地址的CORE文件夹中,在keil添加到CORE组中,如图2.4所示。
编译,成功下载
总结
选对芯片很重要。stm32 stlink utility是一个看起来不错的工具。