c6t6错选c8t6编译的文件下载,使用ST-Link下载程序出现Error:Flash Download Failed-“Cortex-M3“

本文介绍了在STM32开发过程中遇到的Flash下载失败问题,原因是使用了错误的芯片型号。通过检查和修改项目中的芯片型号,包括Device设置、源代码配置和启动文件,最终成功解决了问题。强调了正确选择芯片型号的重要性,并推荐了STM32STLinkUtility工具来检查和验证芯片信息。
摘要由CSDN通过智能技术生成

多半是芯片错了,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选对芯片编译再下载
  修改例程的芯片有三个地方需要修改

  1. Device
    在这里插入图片描述
图2.1 Device将c8t6改为c6t6
2. c/c++

在这里插入图片描述

图2.2 Device将c8t6改为c6t6
3. startup文件

图2.1 Device将c8t6改为c6t6

图2.3 将原来的startup文件移除掉

在这里插入图片描述

图2.4 将ld.s文件startup_stm32f10x_ld.s
  我在C:\Keil_v5\ARM\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Source\ARM可以找到这堆文件(可能可以通过包管理器导入,但是我不会,望大佬评论区指教)

在这里插入图片描述

图2.5 在芯片包文件我可以找到我的startup文件

  复制到项目地址的CORE文件夹中,在keil添加到CORE组中,如图2.4所示。
  编译,成功下载

总结

  选对芯片很重要。stm32 stlink utility是一个看起来不错的工具。
在这里插入图片描述

可以查看芯片信息
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值