衡阳派盒市场营销有限公司

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

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

3天內不再提示

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

jf_pJlTbmA9 ? 來源:玩轉單片機與嵌入式 ? 作者:玩轉單片機與嵌入 ? 2023-10-26 15:52 ? 次閱讀

如果你還不了解什么是STM32對其Flash的保護,那么今天就來給你講解一下什么是STM32的Flash保護!

01、什么是Flash?

STM32的FLASH組織結構,可能因不同系列、型號略有不同。比如大家熟悉的STM32F1中小容量一頁大小只有1K,而F1大容量一頁有2K。

還比如有些系列以扇區為最小單元,有的扇區最小16K,有的128K不等。

通常Flash包含幾大塊,這里以F40x為例:

主存儲器:用來存放用戶代碼或數據。

系統存儲器:用來存放出廠程序,一般是啟動程序代碼

OTP 區域:一小段一次性可編程區域,供用戶存放特定的數據。

選項字節:存放與芯片資源或屬性相關的配置信息

wKgaomUD80-ATsGvAAIwFYJ7CTY509.png

02、什么是STM32對內部Flash的保護?

所有的STM32芯片都會提供對Flash的保護,防止對Flash的非法訪問,分為:寫保護和讀保護。

1、讀保護就是大家通常說的“加密”,作用于整個Flash存儲區域。如果一旦設置了Flash的讀保護,那么單片機內置的Flash存儲區就只能通過程序的正常執行才能讀出,而不能通過下述方式讀出:

(1) 使用調試器(JTAG或SWD);
(2)從內存RAM中啟動并執行的程序;

2、寫保護是以四頁(1KB/頁) Flash存儲區為單位提供寫保護,如果對Flash設置了寫保護,那么就無法對Flash進行編程和擦除,而且同時產生操作錯誤標志。 當出現下圖標志的時候,就要檢查Flash是否被保護起來了。

wKgZomUD81CAaeldAAB-JauJ0Ik365.png

03、讀保護與寫保護的相關效果

當設置讀保護與寫保護時,其效果如下圖所示:

wKgaomUD81OAOudVAACa_EhvYh8743.png

1)flash保護的相關函數

wKgaomUD81SAIjxYAAD3z6AOYZE792.png

2)STM32如何設置讀保護?

我們只需要在程序開頭加入“設置讀保護”的代碼就可以,這樣就可以在每次運行代碼的時候都檢查一下,如果沒有開的話就打開,如果開了就跳過。下面是讀保護的代碼:

wKgZomUD81aAQ5MeAAEbl64qgq0197.png

當我們在程序的開頭執行了上面的代碼之后,使用j-link就不能在讀出程序了,這樣就實現了讀保護。

3)如何通過代碼解除Flash保護

解除讀保護可以下面代碼來進行解除,我們為了方便解鎖,可以設置一個按鍵。

wKgZomUD81iAY4XhAAE-cdrg93s431.png

來源:玩轉單片機與嵌入式
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理

審核編輯 黃宇

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

    關注

    10

    文章

    1642

    瀏覽量

    148674
  • STM32
    +關注

    關注

    2272

    文章

    10923

    瀏覽量

    357575
收藏 人收藏

    評論

    相關推薦

    STM32如何設置保護和解除保護

    STM32還提供了一個特別的保護,即對Flash存儲區施加保護后,即使沒有啟用寫保護
    發表于 01-04 09:28 ?1.4w次閱讀

    STM32CUBEMX開發GD32F303保護寫保護概述

    芯片保護以后,flash將不可以從外部讀取,這樣可以防止別人讀取或者盜取芯片代碼,如果想再次燒錄代碼,需要解除保護,有時候在代碼調試的過程中,也有可能會觸發
    的頭像 發表于 07-17 14:36 ?2435次閱讀
    <b class='flag-5'>STM32</b>CUBEMX開發GD32F303<b class='flag-5'>讀</b><b class='flag-5'>保護</b>與<b class='flag-5'>寫保護</b>概述

    PIC單片機寫保護的問題

    最近搞到一塊PIC單片機“PIC16C765”想研究一下,在網上買了一個下載器,還裝好了軟件,寫了一個小程序編譯也成功了,就是在下載的時候不能正常下載到里面,老是顯示寫保護,要么就數據讀取錯誤
    發表于 11-08 19:01

    STM32Flash寫了保護怎么辦??

    為了防止對Flash的非法訪問,所有STM32的芯片都提供對Flash保護,具體分為寫保護
    發表于 01-08 10:52

    STM32對內部Flash保護措施

    一、STM32對內部Flash保護措施所有STM32的芯片都提供對Flash保護,防止對
    發表于 01-20 07:23

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

    ? 本文介紹了如何解決STM32芯片Flash寫保護導致無法下載程序,無法在線調試的問題;如果您遇到相同的問題,希望本文可以帶來一些幫助; 1 FLASH
    的頭像 發表于 12-22 16:51 ?1.4w次閱讀

    第51章 設置FLASH的讀寫保護及解除

    51.1 選項字節與讀寫保護在實際發布的產品中,在STM32芯片的內部FLASH存儲了控制程序,如果不作任何保護措施的話,可以使用下載器直接把內部F
    發表于 11-23 17:51 ?12次下載
    第51章     設置<b class='flag-5'>FLASH</b>的讀<b class='flag-5'>寫保護</b>及解除

    STM32Flash寫保護,SWD引腳鎖的各種解決辦法匯總(2020-03-10)

    問題現象:MDK,J-Flash,IAR等無法連接芯片,有時候鏈接上了,但是無法下載。注意:如果下載器線的接觸不良,也會有這個問題。問題描述:1、Flash寫保護根本原因是工程設計有問題,特別是
    發表于 12-27 18:45 ?14次下載
    <b class='flag-5'>STM32</b>的<b class='flag-5'>Flash</b>讀<b class='flag-5'>寫保護</b>,SWD引腳鎖的各種解決辦法匯總(2020-03-10)

    STM32Flash寫了保護怎么辦?

    為了防止對Flash的非法訪問,所有STM32的芯片都提供對Flash保護,具體分為寫保護
    發表于 02-08 16:39 ?7次下載
    <b class='flag-5'>STM32</b>的<b class='flag-5'>Flash</b>寫了<b class='flag-5'>保護</b>怎么辦?

    如何解決STM32芯片Flash寫保護的問題

    本文介紹了如何解決STM32芯片Flash寫保護導致無法下載程序,無法在線調試的問題;如果您遇到相同的問題,希望本文可以帶來一些幫助。
    的頭像 發表于 03-14 17:24 ?1.1w次閱讀

    STM32Flash寫了保護怎么辦?

    STM32還提供了一個特別的保護,即對Flash存儲區施加保護后,即使沒有啟用寫保護
    的頭像 發表于 04-02 15:55 ?4260次閱讀

    STM32CUBEMX開發GD32F303(2)----保護寫保護

    芯片保護以后,flash將不可以從外部讀取,這樣可以防止別人讀取或者盜取芯片代碼,如果想再次燒錄代碼,需要解除保護,有時候在代碼調試的過程中,也有可能會觸發
    的頭像 發表于 11-23 11:22 ?2482次閱讀
    <b class='flag-5'>STM32</b>CUBEMX開發GD32F303(2)----<b class='flag-5'>讀</b><b class='flag-5'>保護</b>與<b class='flag-5'>寫保護</b>

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

    介紹如何在STM32中解鎖寫保護保護,并提供詳實的步驟以供參考。 1. 測試板子 在開始解鎖之前,需要測試板子是否在保護狀態下。首先,連
    的頭像 發表于 10-29 17:24 ?4788次閱讀

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

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

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

    STM32芯片中,我們可以通過設置BFB2和BFB1位來對Flash進行保護。BFB2位用于保護寫保
    的頭像 發表于 10-29 17:24 ?2743次閱讀
    24个招财方法| 海王星百家乐官网的玩法技巧和规则 | 百家乐官网相对策略| 超级百家乐官网2龙虎斗| 赌场百家乐官网技巧| 24山向阴阳图| 澳门百家乐网40125| 蒙特卡罗线上娱乐| 玩百家乐官网凤凰娱乐城| 百家乐官网游戏辅助| 百家乐园百利宫娱乐城信誉好...| 麻将二八杠游戏| 百家乐官网咋个玩的| 百家乐是咋玩法| 大发888娱乐游戏可以玩吗| 真人百家乐官网平台下载| 百家乐规则好学吗| 大发888娱乐城大奖| 百家乐官网娱乐城新闻| 家百家乐破解软件| bet365体育在线15| 百家乐官网玩法教程| 1月24进房子风水好吗| 大发888开户注册哪家好| 保险百家乐官网怎么玩| 百家乐赌博详解| 阜新| 百家乐官网平注常赢规则| 老虎机上分器| 真人百家乐官网是啥游戏| 香港百家乐六合彩| 注册送现金真人棋牌| 百家乐技术方式| 太阳城娱乐开户| 单机百家乐官网小游戏| 百家乐赌场娱乐网规则 | 地理风水24山72局杨公水法| 威尼斯人娱乐公司| 百家乐官网高档筹码| 赌博百家乐赢钱方法| 澳门新濠天地|