日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

MDK KEIL 烧录STM32下载错误:Flash Timeout.Reset the Target and try it again.解决办法(芯片解锁 解除读报护)

發(fā)布時(shí)間:2024/1/23 编程问答 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MDK KEIL 烧录STM32下载错误:Flash Timeout.Reset the Target and try it again.解决办法(芯片解锁 解除读报护) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用keil開(kāi)發(fā)STM32點(diǎn)下載時(shí)出現(xiàn)下面的報(bào)錯(cuò):

點(diǎn)確定后:

出現(xiàn)如上情況很可能是該芯片鎖死,即設(shè)置了讀寫保護(hù)。
解決方法是想辦法解鎖芯片,可以使用ST-Link配合stlink utility軟件,或者使用J-link,或者用一個(gè)自動(dòng)取消讀寫保護(hù)位的程序在SRAM區(qū)運(yùn)行一下(讀寫保護(hù)只影響 FLASH, SRAM調(diào)試時(shí)程序下載到 SRAM 中,不受影響) 。當(dāng)然其實(shí)上面的方法原理都是一樣,下面就使用ST-Link配合stlink utility軟件解鎖芯片的方法闡述一下。

stlink utility是ST官方提供的免費(fèi)軟件,支持STM32 ST-LINK的程序包括帶有命令行界面(CLI)的圖形用戶界面(GUI)。該軟件可自行到ST官網(wǎng)搜索下載最新版。

進(jìn)入stlink utility軟件后,Target->Connect顯示不能讀到flash,這也進(jìn)一步證明這個(gè)芯片被設(shè)置了讀報(bào)護(hù)。如果到這一步依然與圖片現(xiàn)象一致,那么請(qǐng)繼續(xù)往下跟著操作。

選擇Target->Option Bytes

讀到配置字節(jié)發(fā)現(xiàn)讀報(bào)護(hù)果然被使能了:

將Read Out Protection選項(xiàng)設(shè)置位disable,點(diǎn)擊Apply,這時(shí)候Flash已經(jīng)成功解鎖了:

解鎖成功后ST-LINK上位機(jī)軟件會(huì)自動(dòng)連接芯片,這時(shí)發(fā)現(xiàn)flash已經(jīng)全部被擦除了(因?yàn)閒lash讀出來(lái)都是0xFFFFFFFF),這就是芯片的保護(hù)機(jī)制,主要防止一些想不勞而獲的人通過(guò)調(diào)試器竊取芯片內(nèi)的軟件。

至此,芯片已經(jīng)可以正常燒錄了。


補(bǔ)充一點(diǎn):

有些芯片比如L0系列的,Read Out Protection選項(xiàng)讀出來(lái)是Level 0或是 Level 1
STM32 讀保護(hù)有三個(gè)等級(jí) L0 L1 L2
L0 是沒(méi)有保護(hù),可以隨意讀出來(lái)的,一般調(diào)試過(guò)程中選擇。在L0 狀態(tài)可以設(shè)置成L1 或者L2,修改完成不會(huì)擦除芯片已有的代碼;
L1 是可恢復(fù)讀保護(hù),L1–>L0狀態(tài),,會(huì)自動(dòng)擦除已有的程序。L1->L2,這個(gè)設(shè)置還沒(méi)有試過(guò),(正常理解是不擦除);
L2 是不可恢復(fù)讀保護(hù),此狀態(tài)下,不可恢復(fù)到其他的狀態(tài),同時(shí)芯片里的程序不能再升級(jí) 類似OTP了;
這個(gè)主要是保護(hù)代碼不會(huì)被其他人惡意拷貝,保護(hù)原作者的權(quán)益。

如果是這種。解鎖的時(shí)候把Level 1切換到Level 0就行了。
這里注意。自己調(diào)試時(shí)不要設(shè)到Level 2去了,這樣芯片就再也不能燒錄新程序了。


再補(bǔ)充一點(diǎn):
如果按上面的方法解鎖了之后,再用KEIL下載還是反復(fù)報(bào)下面的錯(cuò)誤:

換ST-link utility燒錄時(shí)報(bào)下面的錯(cuò)誤:

這個(gè)原因是上述方法沒(méi)有解鎖全部的Flash,還有一部分Flash沒(méi)有解鎖。是因?yàn)榍皫醉?yè)flash單獨(dú)設(shè)置了讀報(bào)護(hù),需要單獨(dú)解鎖。

選擇Target->Option Bytes

發(fā)現(xiàn)如上圖所示前4頁(yè)flash被寫保護(hù),所以需要將其全部解鎖才能下載。
(該部分寫保護(hù)主要是為了Bootloader被破壞)


點(diǎn)擊Unselect all,再點(diǎn)擊Apply即可解除所有的讀報(bào)護(hù)了。

總結(jié)

以上是生活随笔為你收集整理的MDK KEIL 烧录STM32下载错误:Flash Timeout.Reset the Target and try it again.解决办法(芯片解锁 解除读报护)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。