目录

一、前言

二、错误分析

三、解决方法

四、下载附件

五、总结


一、前言

最近换了新电脑后,很多开发软件都要重装,也是这次偶然的机会发现了我在Keil5软件上用J-Link烧录程序时出现了 Error:Flash Download failed – “Cortex-M4” 的错误。在整个排查过程中发现自己还是有很多小错误没意识到,导致耗费了很长时间。现记录一下备忘。

Error:Flash Download failed – “Cortex-M4” 的错误

二、错误分析

Error : Flash Download failed – “Cortex-M4” 。这个错误原因大概是说”Cortex-M4″的Flash文件下载失败或者说无法下载的意思。

排除掉硬件损坏的情况后,通常可能是下面几个问题导致出现 Error : Flash Download failed – “Cortex-M4” 的错误

导致 Error : Flash Download failed – “Cortex-M4” 的常见问题及分析
序号常见问题原因分析
1keil可能没有识别到JLink烧录器J-Link烧录器如果是山寨版就可能会识别不到
2Flash文件缺失或错误工程中没有Flash文件,或没有根据要烧录的芯片型号设置对应的Flash文件
3烧录速度过快J-Link的烧录速度过快,有时候也可能会导致报错

三、解决方法

1.检查Keil有没有识别到自己的J-Link烧录器。说明一下:高版本的J-LINK驱动会识别出用的烧录器是盗版的,会有一个警告。所以识别不到的建议将原来的驱动卸载掉,安装低版本的驱动试试。具体操作见下图:

检查Keil有没有识别到自己的J-Link烧录器
J-Link驱动下载安装官网

点击这里去官方网址下载驱动

2.检查有没有正确配置好对应芯片的Flash文件。自己选择的这个Flash文件一定要真的存在Keil安装路径下的flash文件夹中。最好是跟进Keil安装路径,看看有没有。发现Flash文件不存在的那就把安装路径D:\Keil5\ARM\PACK\Keil\STM32F4xx_DFP\2.13.0\CMSIS\Flash的内容全部复制到D:\Keil5\ARM\Flash当中。具体操作见下图:
检查有没有正确配置好对应芯片的Flash文件
安装路径D:\Keil5\ARM\PACK\Keil\STM32F4xx_DFP\2.13.0\CMSIS\Flash的内容全部复制到D:\Keil5\ARM\Flash当中
3.J-Link的烧录速度过快,有时候也可能会导致报错。具体操作见下图:
J-Link的烧录速度过快,有时候也可能会导致报错

四、下载附件

点击下载stm32f4的配置包,可以理解为就是那个Flash的安装包

五、总结

我Flash文件设置了,但是发现在”D:\Keil5\ARM\Flash”中没有这个文件。后面就把”D:\Keil5\ARM\PACK\Keil\STM32F4xx_DFP\2.13.0\CMSIS\Flash”的内容全部复制到”D:\Keil5\ARM\Flash”当中。然后把刚刚的文件remove掉再重新设置Flash文件。

同时发现Keil识别不到我的J-LINK烧录器,后面卸载掉驱动后重新安装了低版本的驱动,重启Keil后就能烧录了。

还有就是一开始烧录速度过快,有时候烧录不了。