Err:Flash Download failed - “Cortex-M0”

最近在使用KEIL软件烧录程序时,提示Err:Flash Download failed - “Cortex-M0”,记录一下解决方法。

本文章以MM32F0020BIT芯片为例。

1 Options for Target

我们首先确认一下工程中 Options for Target 部分的设置。

1.1 Device

确认 Device 栏中的驱动类型是不是对应要烧录程序的芯片类型。
在这里插入图片描述

1.2 Debug

  • 1.确认 烧录器类型

在这里插入图片描述

  • 2.确认是否有识别到烧录器芯片、以及连接与复位选项
    请添加图片描述

  • 3.确认FLASH内存起始位和内存大小
    请添加图片描述
    在进行了以上步骤的确认后,如果烧录时仍会出现 Err:Flash Download failed - “Cortex-M0” 提示,那么就有很大概率是因为程序 设置了读保护。

2 通过JLINK解除读保护

2.1 打开JFlash

在这里插入图片描述

2.2 创建新项目

  • 1.创建项目
    在这里插入图片描述

  • 2.在Device 中选择芯片类型。
    在这里插入图片描述

如果搜索不到芯片类型,可以到芯片官网下载 Jlink-pack,然后导入到Jlink中。

这里以MM32F0020芯片为例。

1.到MM32F0020芯片官网下载Jlink-Pack包。
网址:https://www.mindmotion.com.cn/support/software/jlink_pack/

在这里插入图片描述

2.将支持包中的 Devices文件夹 和 JLinkDevices.xml文件复制到JLink文件夹中,覆盖掉之前的文件。

在这里插入图片描述
在这里插入图片描述

3. 重新打开JFlash,就能搜索到刚刚导入的芯片类型了。

2.3 设置

  • 1.打开项目的设置选项卡

Optains -> Project settings … (ALT+F7)
在这里插入图片描述

  • 2.在Target Interface 中设置JLink与PC的连接方式,在Target Interface中设置为SWD接口,及相关的接口速度。

在这里插入图片描述

如果在连接目标MCU的时候提示 “Could not perform target reset Fail to connect”,则将SWD speed before init 栏下的接口速度降低。

请添加图片描述

  • 3.MCU配置

在这里插入图片描述

  • 4.Flash配置
    在这里插入图片描述
  • 5.Production选项
    在这里插入图片描述

使用chip模式可实现对全芯片的擦除,解除读保护。而选择sectors模式,只可以支持当前sectors的代码烧录,不支持对全芯片的擦除,不支持解除读保护。

  • 6.Performance选项
    在这里插入图片描述

选择 via readback 可实现对每一个bit的校验。

2.4 连接芯片

完成上述的配置后,通过点击Target -> Connect,连接JLink与目标MCU。
在这里插入图片描述

2.5 解除读保护

在JLink与目标MCU连接状态下,通过点击Target -> Manual Programming -> Erase Chip F4可实现对目标MCU的全片擦除和解除读保护。

在这里插入图片描述

  • 13
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值