性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

小麥大叔
認(rèn)證:普通會(huì)員
所在專題目錄 查看專題
新手零基礎(chǔ)如何快速入門單片機(jī)
基于STM32的hello world點(diǎn)燈教程
STM32 使用st-link調(diào)試遇到寫保護(hù) Flash Timeout 問題的解決思路
天哪!原來PWM這么簡(jiǎn)單
小小舵機(jī),大大玄機(jī)
UART協(xié)議快速掃盲(圖文并茂+超詳細(xì))
作者動(dòng)態(tài) 更多
一款輕量級(jí)的開源GUI項(xiàng)目——SimpleGUI,可以完美適配單色屏
02-22 09:47
看到這100多個(gè)軟硬件開源項(xiàng)目,真是爽爆了
2024-11-30 14:12
推薦一個(gè)高效,可靠,安全的串口通訊開源方案
2024-11-27 11:17
推薦一款開源hack硬件平臺(tái)工具
2024-11-26 13:58
新手學(xué)STM32的話,先學(xué)標(biāo)準(zhǔn)庫還是HAL庫?
2024-10-18 15:09

STM32 使用st-link調(diào)試遇到寫保護(hù) Flash Timeout 問題的解決思路

本文介紹了如何解決STM32芯片F(xiàn)lash寫保護(hù)導(dǎo)致無法下載程序,無法在線調(diào)試的問題;如果您遇到相同的問題,希望本文可以帶來一些幫助;如果覺得不錯(cuò),歡迎關(guān)注、分享、收藏、點(diǎn)贊。希望能幫助到大家,如有錯(cuò)誤敬請(qǐng)指出,謝謝!

目錄

  • FLASH的寫保護(hù)
  • 錯(cuò)誤提示
  • stlink utility
    • 基本功能
    • 解鎖Flash
    • 寫保護(hù)
  • 總結(jié)

1 FLASH的寫保護(hù)

如果對(duì)Flash設(shè)置了寫保護(hù),那就無法對(duì)Flash進(jìn)行編程和擦除。在開發(fā)STM32的時(shí)候,如果出現(xiàn)這種情況,通常仿真器都支持對(duì)Flash進(jìn)行解鎖,像jlink,stlink等仿真器都支持這個(gè)功能。

2 錯(cuò)誤提示

在使用MDK進(jìn)行調(diào)試的時(shí)候,出現(xiàn)報(bào)錯(cuò) ==Flash Timeout.Reset Target and try it again==,具體如下圖所示;

折騰了一番之后,并沒有解決問題,因?yàn)槭褂玫姆抡嫫魇?strong>stlink,因此下載了stlink utility嘗試解決問題;

3 stlink utility

3.1 基本功能

stlink utility是ST官方提供的免費(fèi)軟件,支持STM32 ST-LINK的程序包括帶有命令行界面(CLI)的圖形用戶界面(GUI)。 該工具還提供了較多的其他功能,具體如下;

  • 可以對(duì)STM32 內(nèi)部存儲(chǔ)器 (Flash,RAM,OTP和其他存儲(chǔ)器),外部存儲(chǔ)器進(jìn)行編程;
  • 驗(yàn)證程序內(nèi)容(校驗(yàn)和,在編程期間和之后進(jìn)行校驗(yàn),與文件進(jìn)行比較等)
  • 還能實(shí)現(xiàn) STM32編程自動(dòng)化;
  • 另外還提供其他的功能;

3.2 解鎖Flash

stlink連接目標(biāo)板的情況下,打開stlink utility,在菜單欄的Target下選擇connect,因?yàn)檫@時(shí)候Flash已經(jīng)被鎖住了,所以同樣地也看到相應(yīng)的錯(cuò)誤提示 ==Can not read memory Disable Read Out Protection and retry==,具體如下圖所示;

OK,下面只需要接觸寫保護(hù)就行了,所以在菜單欄target里打開Option Bytes...選項(xiàng),或者直接通過快捷鍵ctrl+B打開,請(qǐng)確保當(dāng)前已經(jīng)正確連接了stlink和目標(biāo)板,否則會(huì)出現(xiàn)報(bào)錯(cuò);

正確連接的情況下,打開Option Bytes...,發(fā)現(xiàn)在這里Read Out Protection選項(xiàng)是enable,這個(gè)表示無法通過swd讀取STM32內(nèi)部Flash的程序。

關(guān)鍵點(diǎn):Read Out Protection選項(xiàng)設(shè)置位disable,點(diǎn)擊Apply,這時(shí)候Flash已經(jīng)成功解鎖了。但是同時(shí)發(fā)現(xiàn),內(nèi)部Flash已經(jīng)被擦除了,,這可能STM32的保護(hù)機(jī)制有關(guān),防止程序被拷機(jī),然后進(jìn)行反編譯破解,這樣也可以提高破解的門檻。具體顯示如下圖所示;

完成以上步驟之后,在菜單欄Target下選擇Disconnect,或者通過快捷鍵ctrl+D斷開和目標(biāo)板的連接;重新進(jìn)入MDK,就能正常對(duì)目標(biāo)板進(jìn)行調(diào)試,仿真,以及程序的燒寫。

3.3 寫保護(hù)

在菜單欄target里打開Option Bytes...選項(xiàng),我們還看到下面有Flash sector protection選項(xiàng);選擇Select all之后,發(fā)現(xiàn)所有Page都已經(jīng)寫保護(hù)了,只要選擇apply選項(xiàng)就可以對(duì)Flash進(jìn)行寫保護(hù);具體如下所示;

4 總結(jié)

對(duì)于Flash寫保護(hù)的問題可以結(jié)合STM32參考手冊(cè)進(jìn)行相應(yīng)的學(xué)習(xí),其內(nèi)部Flash提供相應(yīng)的保護(hù)機(jī)制,本文只是結(jié)合ST官方工具stlink utility解決一下常見的這個(gè)簡(jiǎn)單的問題。

筆者能力和水平有限,文中難免有錯(cuò)誤和紕漏之處,請(qǐng)大佬們不吝賜教。


聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 3
收藏 4
關(guān)注 144
成為作者 賺取收益
全部留言
0/200
  • 天賜時(shí)間 2020-12-14 17:38
    思路清晰,受益匪淺
    回復(fù)