STM32芯片flash被锁导致Error Flash Download failed Cortex-M4,解决办法(全)亲测有效

STM32芯片flash被锁导致Error: Flash Download failed - "Cortex-M4",解决办法(全)亲测有效🤩!


方法1:由于Keil 中debug的仿真器配置出错导致的下载失败(这种问题虽然是低级错误,但我还是觉得非常有必要确认一下自己的配置有没有出错)

方法2:使用第三方烧录软件,通过串口烧录覆盖flash,暴力解锁,此方法不支持STM429和429以上版本的芯片

方法3:J-Link仿真器通过J-Flash软件破解

方法3转载Keil : Error-Flash Download failed Cortex-M4错误解决方案整理(J-Flash擦除下载教程)_keil flash download_白浪博客的博客-CSDN博客

方法4:ST-LINK仿真器搭配STM32 ST-LINK Utility软件破解,本博客使用此方法!(四种方法我都试过,方法4成功解决,成功率最高!)


Setup_JLink_V500k下载链接:

链接:百度网盘 请输入提取码

提取码:1234


STM32STLINKUtility_v4.5.0下载链接:

链接:百度网盘 请输入提取码

提取码:1234

起因:最近学校搞实训,给每个小组发了STM32F429的板子,因为我做的是蓝牙主从通信,所以前两天又从老师那儿多要了一块。

原本这几天一切顺利,结果昨天遇到了问题,前几天有组员捣蛋用杜邦线母头接3.3V,公头直接触碰led电阻(手动点灯显摆),今天开始做项目才发现LED灯坏了,亮不了了(好在今天实话实说,实训老师宽宏大量,没有计较,后续吹掉换个新的灯珠或者LED电阻应该能修好),这里也提醒大家没事千万别拿杜邦线接电源乱搞。

于是昨天下午想用后拿的那款板子先继续做项目,结果发现居然程序烧录不进去!

先是在KEIL里用野火的DAP直接下载,报错如下:

Error: Flash Download failed - "Cortex-M4"

然后我换了ST官方的烧录软件烧录,又给我报错,报错如下:可能存在写保护!

然后我查资料问下度娘,果然!FLASH芯片被锁了!

于是我偷偷摸摸去实验室又换了唯一剩下的板子回来,结果一烧录,绝!也被锁住了!!你说气人不!😱

于是接下来我只能尝试办法破解软件了。先是与老师沟通如下:

去实验室拿来了一个J-link的JTAG仿真器,搭配官方的J-FLASH软件,尝试网上的方法进行erase chip破解,由于没有20Pin转SWD的转接线,所以只能串联野火DAP再通过DPA上的SWD连接板子。结果发现虽然可以connect成功,但却erase chip不了,会直接报错。

突然脑海闪过一个想法,能不能直接用第三方的烧录软件mcuisp和FlyMcu进行烧写覆盖从而破解。转念一想,STM429和429以上版本的芯片不支持第三方烧录软件o(╥﹏╥)o,真的哭。

结果搞了一晚上,啥进展没有,头倒是大了一圈。

接着来到今天上午,老师给了我一个JTAG转接头,跟我说只能死马当活马医了,我又重新用J-FLASH软件试了一下,这次终于可以erase chip了,但是虽然没有直接报错,当是好像没啥效果。用仿真器烧录程序依然显示Flash Download failed - "Cortex-M4"。

老师说实在不行,应该是芯片被最高级锁死了,只能拿回去把芯片吹掉换一个了。要命!那可等不了了!就在我摆烂的时候,突然发现还有一种方法,就是用ST-link仿真器解锁,我决定试试。

于是我问了老师,老师说下午带一个给我。

来到下午我成功拿到了最终秘籍:ST-Link,蓝白配色!爱了!

再配上野火的SWD转接头图片

连上板子后,先安装好STM-Link Utility软件

然后打开STM32 ST-LINK Utility.exe,先连接:Connect

连接成功后如下:(如果芯片被锁死,所有FLASH的位都是0。我的不是0,是因为我解锁完芯片之后为了演示过程,又重新conncet的)

然后点击Target里面的Option Bytes,先选择Level 0,然后下面的扇区全部取消选中(Unselect all)

接着点击apply,就可以成功将芯片解锁啦!

最后再重新用仿真器烧录程序,先验证下仿真器配置有没有错(防止有些小伙伴是因为仿真器没配置好才烧录不了程序的)

尤其要注意flash的选择不能错

最后烧录程序成功如下所示(一个按键点灯的程序):

点灯成功!accomplish!!😜

  • 20
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
在考察当前市面上现有的仿真器之后,我们推出一款硬件软件均开源的仿真器,相比目前流行的jlink与stlink,具有以下优势: 1. 硬件原理图PCB完开源,软件开源,无版权风险。当前市面上的jlink/stlink均为盗版,使用上存在一些法律问题,部分jlink和IDE如MDK配合使用时,会提示盗版而无法正常使用,且部分jlink版本存在使用一段时间后丢固件的问题,一旦固件丢失,需要手动操作软件恢复固件,操作极其繁琐。同时 jlink售价亦较为昂贵。 2.引出SWD接口,支持主流上位机调试软件,包括keil、IAR、openocd,均支持使用SWD进行下载、单步调试。 3. 引出JTAG接口,配合openocd可支持球范围内几乎所有SoC芯片的调试,如ARM Cortex-A系列、DSP、FPGA、MIPS等,因为SWD协议只是ARM自己定义的私有协议,而JTAG则是国际IEEE 1149标准。通常的仿真器目标芯片一般为ARM Cortex-M系列,均未引出JTAG接口,而本产品引出JTAG接口,适合您在其他平台下进行开发调试工作。 4.支持虚拟串口(也就是既可以用来当仿真器,又可以作为串口工具使用,替代ch340、cp2102,pl2303)。 5. DAPLink是CMSIS-DAP仿真器的升级版,也是ARM官方在开源社区力推的仿真器,最大的特点是支持U盘拖拽烧录。插入DAPLink之后,PC上会出来一个U盘,只需将hex或者bin文件拖入到U盘中,即可完成烧录。 6. DAPLink支持U盘固件升级,只需将nRST接地,插入DAPLink,PC上即会出来一个U盘,只需将新的固件(hex或者bin文件)拖入到U盘中,即可完成固件升级。因为DAPLink实现了一个带U盘功能的bootloader,可以方便的完成固件升级。若您有基于STM32的产品正在量产,而且产品后续可能需要升级,则DAPLink中的bootloader代码非常值得您参考,客户端不需要安装复杂的IDE或者烧写工具才能完成升级,只需拖动到U盘即可方便的完成您的产品升级。 7. 具有一定深度的原理性的教程讲解视频,包括从硬件到软件,适合对嵌入式开发感兴趣的朋友观看学习。 更多信息,请点击https://github.com/wuxx/nanoDAP。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

竹烟淮雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值