Keil : Error-Flash Download failed 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,会弹出欢迎界面,可以关掉。  

                    

  1. 执行如下,打开配置窗口

                   

  1. 切换到“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错误完美解决。

 

白浪介绍:

(1)关于射频、微波、天线、无线通信、智能硬件、软件编程、渗透安全、人工智能、区块链、大数据、Java、Android、C/C++、python等综合能力的培养提升。

(2)各种学习资料、学习软件分享。

1.扫码关注公众号(Geekxiaobai)

                           

2. 在后台发送“Python高级编程”“Python Graphics”或者“2003”,即可免费获得电子书籍。仅供学习之用。

3. 扫码关注后,查看往期内容,会有更多资料惊喜等着你来拿哦  

  想要更多相关学习资料,可以在文章后面留言哦,后期将会根据留言需求免费分享学习资料哦。

========******=========******========******=========******==========

发布了42 篇原创文章 · 获赞 13 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/sunskyday/article/details/103618161