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錯誤完美解決。
白浪介紹:
(1)關於射頻、微波、天線、無線通信、智能硬件、軟件編程、滲透安全、人工智能、區塊鏈、大數據、Java、Android、C/C++、python等綜合能力的培養提升。
(2)各種學習資料、學習軟件分享。
1.掃碼關注公衆號(Geekxiaobai)
2. 如在後臺發送“Python高級編程”“Python Graphics”或者“2003”,即可免費獲得電子書籍。僅供學習之用。
3. 掃碼關注後,查看往期內容,會有更多資料驚喜等着你來拿哦
想要更多相關學習資料,可以在文章後面留言哦,後期將會根據留言需求免費分享學習資料哦。
========******=========******========******=========******==========