解决Keil Cortex-M4错误:J-Flash擦除下载教程

记录一下碰到的问题解决方法
第一步:首先最先要确定的是芯片和设置是否对应!!!!!!!!!
第二步:确定芯片和设置对应无误后,再考虑下面的方法

Keil : Error-Flash Download failed Cortex-M4错误解决方案整理

在开发 nRF51822/nRF52832/nRF52840时候出现如下如下问题:

问题: Keil电子下载时候出现 Error: Flash Download failed – "Cortex-M4"的错误,如下图

根据官方教程解释如下,还是发现不容易解决,另外结合网上一些教程方法,总结如下:

原因1

芯片中已经下载了协议栈,协议栈对占用的Flash空间进行了保护,并且协议栈的地址从0开始,这时候下载地址从0开始的程序,就会出现这种现象。

(1)芯片内下载了协议栈,在没有进行全片擦出情况下下载逻辑程序。解决办法是全片擦除。

(吐槽:按照修改,选了全片擦除,还是会出现这个Cortex-M4错误。即使全片程序擦出,在Keil中烧录程序有时候还是会出现错误。)

原因2:没有加载编程算法

如下图,没有加载Flash,也会出现这个错误

解决方法一:

全片擦出芯片(有时还是会出现M4错误),网上大部分是这个方法。

解决方法二:使用J-Flash擦除下载

(1)安装JFlash,官网:https://www.segger.com
拉到最下,选择Download—Jlink

选择Jlink Software,点击下载

(2)安装后,打开安装路径,可以看到J-Flash程序。(或者windows程序里面找)

(3)启用J-Flash,会弹出欢迎界面,可以关掉。

执行如下,打开配置窗口

切换到“target Interface”,选择设备接口,我的是SWD.

3.切换MCU,选择器件。选中你开发版的芯片型号。

4.擦除芯片

执行“Target-Manual Programming-Erase Chip”,即可擦除芯片。该操作是全片擦除,即擦除片内所有Flash和掉电保持的寄存器。

5.烧写程序

5.1打开编译的程序文件:File-Open data file,导航到待烧写的文件路径,打开文件。

5.2 按下 “F7”,烧写目标板子。

5.3 按下 “F9”,开始运行并烧写程序。

总结:

方法一有问题后,使用方法二的J-Flash。当方法二使用1次后,再在Keil中可以直接烧录了,Cortex-M4错误完美解决。
————————————————
版权声明:本文为CSDN博主「白浪博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sunskyday/article/details/103618161

物联沃分享整理
物联沃-IOTWORD物联网 » 解决Keil Cortex-M4错误:J-Flash擦除下载教程

发表评论