精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何解決STM32芯片Flash寫保護導致無法下載程序,無法在線調試的問題

GReq_mcu168 ? 來源:玩轉單片機 ? 作者:玩轉單片機 ? 2020-12-22 16:51 ? 次閱讀

本文介紹了如何解決STM32芯片Flash寫保護導致無法下載程序,無法在線調試的問題;如果您遇到相同的問題,希望本文可以帶來一些幫助;

1 FLASH的寫保護

如果對Flash設置了寫保護,那就無法對Flash進行編程和擦除。

在開發STM32的時候,如果出現這種情況,通常仿真器都支持對Flash進行解鎖,像jlink,stlink等仿真器都支持這個功能。

2 錯誤提示

在使用MDK進行調試的時候,出現報錯 ==Flash Timeout.Reset Target and try it again==,具體如下圖所示;

折騰了一番之后,并沒有解決問題,因為使用的仿真器是stlink,因此下載了stlink utility嘗試解決問題;

3 stlink utility

3.1 基本功能

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

可以對STM32內部存儲器(Flash,RAM,OTP和其他存儲器),外部存儲器進行編程;

驗證程序內容(校驗和,在編程期間和之后進行校驗,與文件進行比較等)

還能實現 STM32編程自動化;

另外還提供其他的功能;

3.2 解鎖Flash

在stlink連接目標板的情況下,打開stlink utility,在菜單欄的Target下選擇connect,因為這時候Flash已經被鎖住了,所以同樣地也看到相應的錯誤提示Can not read memory Disable Read Out Protection and retry,具體如下圖所示;

OK,下面只需要接觸寫保護就行了,所以在菜單欄target里打開Option Bytes...選項,或者直接通過快捷鍵ctrl+B打開,請確保當前已經正確連接了stlink和目標板,否則會出現報錯;

正確連接的情況下,打開Option Bytes...,發現在這里Read Out Protection選項是enable,這個表示無法通過swd讀取STM32內部Flash的程序。

e9bbff56-442d-11eb-8b86-12bb97331649.png

關鍵點:將Read Out Protection選項設置為disable,點擊Apply,這時候Flash已經成功解鎖了。但是同時發現,內部Flash已經被擦除了;

這可能STM32的保護機制有關,防止程序被拷機,然后進行反編譯破解,這樣也可以提高破解的門檻。具體顯示如下圖所示;

e9efce4e-442d-11eb-8b86-12bb97331649.png

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

3.3 寫保護

在菜單欄target里打開Option Bytes...選項,我們還看到下面有Flash sector protection選項;選擇Select all之后,發現所有Page都已經寫保護了,只要選擇apply選項就可以對Flash進行寫保護;具體如下所示;

ea2baf4a-442d-11eb-8b86-12bb97331649.png

4 總結

對于Flash寫保護的問題可以結合STM32參考手冊進行相應的學習,其內部Flash提供相應的保護機制,本文只是結合ST官方工具stlink utility解決一下常見的這個簡單的問題。

責任編輯:xj

原文標題:如何優雅地解決STM32的Flash寫保護的問題?

文章出處:【微信公眾號:玩轉單片機】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6023

    文章

    44376

    瀏覽量

    628426
  • FlaSh
    +關注

    關注

    10

    文章

    1598

    瀏覽量

    147339
  • STM32
    +關注

    關注

    2258

    文章

    10828

    瀏覽量

    352499

原文標題:如何優雅地解決STM32的Flash寫保護的問題?

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    myST賬號無法注冊導致stm32cubemx無法下載hal庫的固件怎么解決?

    myST賬號無法注冊導致stm32cubemx無法下載hal庫的固件包,myST賬號注冊卡在最后的郵箱驗證環節,一直卡著
    發表于 07-23 08:05

    驗證flash加密功能時不小心將FLASH_CRYPT_CNT字段設置成寫保護了,如何取消寫保護?

    驗證flash加密功能時不小心將FLASH_CRYPT_CNT字段設置成寫保護了,導致現在無法關閉fla
    發表于 06-13 07:23

    STM32F1 IAP操作讀保護選項字節設置,APP使用系統復位跳轉后無法運行IAP的原因?

    最近調試一個程序,是基于STM32F1做的IAP,升級前后需要修改選項字節,FLASH_EraseOptionBytes函數內OB->RDP=RDP_Key語句實現讀
    發表于 05-13 08:09

    STM32F0設置了FALSH寫保護后不能下載程序是什么原因導致的?

    開發環境用KEIL5+JLINK進行程序調試STM32F0根據選項字節進行FALSH寫保護后,下次不能再程序
    發表于 04-18 07:51

    STM32程序無法正常運行的原因?如何解決?

    在使用STM32G473VETx芯片時(1.8V電源),使用GPIO口作為電源芯片的使能信號,發現鏈接下載器時GPIO口雖然能輸出電壓,但不正確,理論上應為1.8V,實際為0.5V和1
    發表于 04-08 07:30

    STM32F407讀保護無法解鎖如何解決?

    項目中用到STM32F407,程序燒錄后,開始運行正常,后面出現芯片死機不運行的情況,Jlink重新燒錄程序提示保護。 網上搜索方法,用ST
    發表于 03-25 08:09

    STM32搭載custom human interface device class(HID)后與stlink沖突會導致cubeide無法下載或者調試報錯怎么解決?

    STM32單片機搭載custom human interface device class(HID)后與stlink沖突會導致cubeide中無法下載或者
    發表于 03-07 06:41

    請問如何啟用CYT2B75芯片Flash寫保護功能?

    請問如何啟用CYT2B75芯片Flash寫保護功能?用來防止對Flash的非法訪問。
    發表于 02-02 06:21

    GD32 MCU進入低功耗模式導致無法再進行程序下載怎么辦?

    很多朋友在調試GD32 MCU的低功耗模式時會遇到一個問題:程序中讓MCU進入了Sleep、Deepsleep或者Standby模式,之后MCU就無法下載
    的頭像 發表于 01-12 09:41 ?2952次閱讀
    GD32 MCU進入低功耗模式<b class='flag-5'>導致</b><b class='flag-5'>無法</b>再進行<b class='flag-5'>程序</b><b class='flag-5'>下載</b>怎么辦?

    相機儲卡的寫保護開關為鎖定怎么辦?

    相機儲卡的寫保護開關為鎖定怎么辦? 相機存儲卡的寫保護開關被鎖定時,意味著您無法對存儲卡進行任何寫操作,例如拍攝照片、錄制視頻或刪除文件。 首先,在嘗試任何解決方法之前,確保存儲卡
    的頭像 發表于 12-09 14:32 ?5487次閱讀

    單片機程序無法下載?

    原因一:電源問題電源可能是導致STM32微控制器無法下載程序的一個常見原因。確保電源穩定對于正常運行和
    的頭像 發表于 11-09 08:00 ?2267次閱讀
    單片機<b class='flag-5'>程序</b><b class='flag-5'>無法</b><b class='flag-5'>下載</b>?

    STM32加密問題:怎樣預置一段Flash保護和清除讀保護程序

    STM32加密問題:怎樣預置一段Flash保護和清除讀保護程序STM32加密方案中,為了
    的頭像 發表于 10-29 17:24 ?2107次閱讀

    STM32Flash寫了保護怎么辦?STM32如何設置讀保護和解除讀保護?

    保護機制,然后才能更好地解決這個問題。 STM32Flash有兩種保護,一種是寫保護,一種是讀保護
    的頭像 發表于 10-29 17:24 ?1.1w次閱讀

    STM32用串口下載后,不小心寫保護和讀保護了,如何解鎖?

    STM32用串口下載后,不小心寫保護和讀保護了,如何解鎖? 在STM32的開發過程中,有些時候可
    的頭像 發表于 10-29 17:24 ?4165次閱讀

    講講STM32單片機Flash的讀保護寫保護

    講講STM32單片機Flash的讀保護寫保護
    的頭像 發表于 10-26 15:52 ?7419次閱讀
    講講<b class='flag-5'>STM32</b>單片機<b class='flag-5'>Flash</b>的讀<b class='flag-5'>保護</b>和<b class='flag-5'>寫保護</b>