女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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寫保護的問題?

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

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

    關注

    6063

    文章

    44915

    瀏覽量

    646824
  • FlaSh
    +關注

    關注

    10

    文章

    1663

    瀏覽量

    150973
  • STM32
    +關注

    關注

    2289

    文章

    11011

    瀏覽量

    362327

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    是什么原因導致無法下載FX3的SDK?

    /com.ifx.tb.tool.ezusbfx3sdk 但是,現在不可用,我無法訪問文件“ Windows (x32-x64) (exe)”。 有什么原因導致無法下載 SDK? 另
    發表于 05-21 06:40

    STM32G473解除寫保護失敗的原因?

    在進行使用串口升級,下載程序時,有一個步驟是解除flash寫保護。在此過程中是基本上按照官方例程的實現的,包括了flash、選項字節的解鎖
    發表于 04-28 07:05

    STM32G473解除寫保護失敗的原因?

    在進行使用串口升級,下載程序時,有一個步驟是解除flash寫保護。在此過程中是基本上按照官方例程的實現的,包括了flash、選項字節的解鎖
    發表于 04-22 10:29

    STM32CubeIDE在線調試時,如何配置擦除Flash的部分Page?

    STM32CubeIDE在線調試時,如何配置擦除Flash的部分Page
    發表于 03-13 08:02

    使用STM32 ST-LINK Utility和j-flash無法擦除怎么解決?

    在keil燒錄程序中直接報錯 使用工具擦除報 使用STM32 ST-LINK Utility 和j-flash無法擦除這個要怎么解決
    發表于 03-12 07:07

    STM32H533芯片設置了讀保護何解決?

    下載STM32H533u3000FLASH下載之后,芯片進入了讀保護狀態,現在在系統管理里面可以看到u3000ST-LINKV3,但是在
    發表于 03-11 07:31

    使用STM32F407ZGT6芯片做小車主控時,總是在運行時芯片突然被鎖,無法下載程序怎么解決?

    在使用STM32F407ZGT6芯片做小車主控時,總是在運行時芯片突然被鎖,無法下載程序。 使用
    發表于 03-11 06:20

    myST賬號無法注冊導致stm32cubemx無法下載hal庫的固件包,為什么?

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

    STM32下載程序的方式有哪些?

    Flash 存儲器編程/擦除控制器將被鎖定后,有什么辦法可以將FLASH重置,我有個開發板能檢測到芯片,但是下載程序的時候,出現
    發表于 03-07 11:56

    路由器無法連接網關怎么解決

    路由器無法連接網關通常意味著路由器無法與互聯網服務提供商(ISP)的服務器建立通信。這可能導致無法訪問互聯網、無法訪問特定的
    的頭像 發表于 09-30 11:41 ?8497次閱讀

    en.stm32cubemx-win-v6-12-0.zip無法下載,該如何解決?

    en.stm32cubemx-win-v6-12-0.zip無法下載,該如何解決?
    發表于 09-26 06:38

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

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

    STM32F103無法下載程序的原因?

    STM32F103無法下載程序
    發表于 07-09 06:24

    esp32-s2r2芯片無法下載是什么原因導致的?

    方式和其他電路都不變,只更換模組內芯片,發現仍然無法下載程序,一直處于“上電同步等待”狀態(沒換芯片之前模組
    發表于 07-01 08:29

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

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