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

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

3天內(nèi)不再提示

詳解什么是STM32對其Flash的保護

Q4MP_gh_c472c21 ? 來源:金橙智能 ? 作者:金橙智能 ? 2021-06-27 11:41 ? 次閱讀

如果你還不了解什么是STM32對其Flash的保護,那么就由小橙同學來給你講解一下什么是STM32的Flash保護!

什么是Flash?

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

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

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

主存儲器:用來存放用戶代碼或數(shù)據(jù)。

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

OTP 區(qū)域:一小段一次性可編程區(qū)域,供用戶存放特定的數(shù)據(jù)。

選項字節(jié):存放與芯片資源或?qū)傩韵嚓P(guān)的配置信息。

什么是STM32對內(nèi)部Flash的保護?

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

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

(1) 使用調(diào)試器(JTAG或SWD);

(2)從內(nèi)存RAM中啟動并執(zhí)行的程序;

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

讀保護與寫保護的相關(guān)效果

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

讀保護寫保護 對Flash的操作功能

有效有效CPU只能讀,禁止調(diào)試和非法訪問。

有效無效CPU可以讀寫,禁止調(diào)試和非法訪問,頁0~3為寫保護。

無效有效CPU可讀,允許調(diào)試和非法訪問。

無效無效CPU可以讀寫,允許調(diào)試和非法訪問。

1、flash保護的相關(guān)函數(shù)

2、STM32如何設置讀保護?

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

ed7daabe-d6b2-11eb-9e57-12bb97331649.png

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

3、如何通過代碼接觸Flash保護解除讀保護可以下面代碼來進行解除,我們?yōu)榱朔奖憬怄i,可以設置一個按鍵。

ed903544-d6b2-11eb-9e57-12bb97331649.png

編輯:jq

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

    關(guān)注

    10

    文章

    1608

    瀏覽量

    147562
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6754

    瀏覽量

    88611
  • STM32
    +關(guān)注

    關(guān)注

    2262

    文章

    10846

    瀏覽量

    353651
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4694

    瀏覽量

    68075

原文標題:STM32的Flash寫了保護怎么辦?

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    求助,關(guān)于STM32F302_FLASH保護的問題求解

    查看好些STM32F302資料,想通過FLASH保護來實現(xiàn)加密功能,添加以下代碼后,沒能實現(xiàn)預期功能: #define OB_RDP_Level_0((uint8_t)0xAA) #define
    發(fā)表于 05-08 06:26

    STM32 FLASH模擬EEPROM,燒寫程序時設置為讀保護Level-2級別,還能正常讀寫這個模擬的EEPROM嗎?

    STM32系列內(nèi)部FLASH模擬EEPROM,燒寫程序時設置為讀保護Level-2級別,還能正常讀寫這個模擬的EEPROM嗎?
    發(fā)表于 03-13 07:34

    stm32 flash寫數(shù)據(jù)怎么存儲的

    ,包括結(jié)構(gòu)、特點以及如何寫入數(shù)據(jù)。 一、STM32 Flash的結(jié)構(gòu) STM32 Flash存儲器通常被分為多個扇區(qū),每個扇區(qū)大小為2KB
    的頭像 發(fā)表于 01-31 15:46 ?2125次閱讀

    電纜護層保護器維護方法詳解

    電纜護層保護器維護方法詳解 在電氣行業(yè)的背景下,電纜作為電力傳輸?shù)闹匾d體,安全運行對于保障電力供應的穩(wěn)定至關(guān)重要。而電纜護層保護器作為電纜的重要組成部分,
    的頭像 發(fā)表于 01-22 10:20 ?256次閱讀

    stm32f103 flash模擬eeprom

    ,STM32F103的Flash存儲器可以模擬EEPROM的功能,在本文中我們將詳細介紹如何使用STM32F103的Flash存儲器來實現(xiàn)EEPROM。 概述 EEPROM(Elect
    的頭像 發(fā)表于 01-09 11:21 ?1749次閱讀

    stm32啟動過程詳解

    STM32啟動過程詳解 近年來,STM32微控制器在嵌入式系統(tǒng)中的應用越來越廣泛。STM32微控制器具有高性能、低功耗、易擴展和豐富的外設接口等優(yōu)勢。而要讓
    的頭像 發(fā)表于 12-08 15:47 ?1350次閱讀

    STM32L4R9的QuadSPI Flash通訊速率不理想

    STM32L4R9的QuadSPI Flash通訊速率不理想
    的頭像 發(fā)表于 11-06 17:06 ?704次閱讀
    <b class='flag-5'>STM32</b>L4R9的QuadSPI <b class='flag-5'>Flash</b>通訊速率不理想

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

    STM32加密問題:怎樣預置一段Flash保護和清除讀保護的程序 在STM32加密方案中,為了對芯片進行加密,我們需要加入讀
    的頭像 發(fā)表于 10-29 17:24 ?2300次閱讀

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

    的是讀保護。 如果STM32Flash寫了保護,那么我們就不能對進行任何操作,包括讀寫。在解決這個問題之前,
    的頭像 發(fā)表于 10-29 17:24 ?1.1w次閱讀

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

    介紹如何在STM32中解鎖寫保護和讀保護,并提供詳實的步驟以供參考。 1. 測試板子 在開始解鎖之前,需要測試板子是否在保護狀態(tài)下。首先,連接板子到電腦,并打開開發(fā)環(huán)境。在開發(fā)環(huán)境的終
    的頭像 發(fā)表于 10-29 17:24 ?4295次閱讀

    ARM STM32中的程序是在RAM里還是在FLASH里運行?

    STM32有兩個存儲空間,一個是片上的FLASH,一個是片上的RAM。RAM相當于內(nèi)存,FLASH相當于硬盤。
    的頭像 發(fā)表于 10-27 14:06 ?3994次閱讀
    ARM <b class='flag-5'>STM32</b>中的程序是在RAM里還是在<b class='flag-5'>FLASH</b>里運行?

    STM32G474 逐波限流保護的實現(xiàn)

    STM32G474 逐波限流保護的實現(xiàn)
    的頭像 發(fā)表于 10-26 18:16 ?2415次閱讀
    <b class='flag-5'>STM32</b>G474 逐波限流<b class='flag-5'>保護</b>的實現(xiàn)

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

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

    為什么STM32Flash地址要設置到0x08000000?

    為什么STM32Flash地址要設置到0x08000000?
    的頭像 發(fā)表于 10-26 15:50 ?1520次閱讀
    為什么<b class='flag-5'>STM32</b>的<b class='flag-5'>Flash</b>地址要設置到0x08000000?

    程序運行在STM32H750的外擴FLASH上兩小時后死機該如何處理

    程序運行在 STM32H750 的外擴 FLASH 上兩小時后死機
    的頭像 發(fā)表于 10-24 15:20 ?2619次閱讀
    程序運行在<b class='flag-5'>STM32</b>H750的外擴<b class='flag-5'>FLASH</b>上兩小時后死機該如何處理