如果你還不了解什么是STM32對(duì)其Flash的保護(hù),那么今天就來(lái)給你講解一下什么是STM32的Flash保護(hù)!
01、什么是Flash?
STM32的FLASH組織結(jié)構(gòu),可能因不同系列、型號(hào)略有不同。比如大家熟悉的STM32F1中小容量一頁(yè)大小只有1K,而F1大容量一頁(yè)有2K。
還比如有些系列以扇區(qū)為最小單元,有的扇區(qū)最小16K,有的128K不等。
通常Flash包含幾大塊,這里以F40x為例:
主存儲(chǔ)器:用來(lái)存放用戶代碼或數(shù)據(jù)。
系統(tǒng)存儲(chǔ)器:用來(lái)存放出廠程序,一般是啟動(dòng)程序代碼。
OTP 區(qū)域:一小段一次性可編程區(qū)域,供用戶存放特定的數(shù)據(jù)。
選項(xiàng)字節(jié):存放與芯片資源或?qū)傩韵嚓P(guān)的配置信息。
02、什么是STM32對(duì)內(nèi)部Flash的保護(hù)?
所有的STM32芯片都會(huì)提供對(duì)Flash的保護(hù),防止對(duì)Flash的非法訪問(wèn),分為:寫(xiě)保護(hù)和讀保護(hù)。
1、讀保護(hù)就是大家通常說(shuō)的“加密”,作用于整個(gè)Flash存儲(chǔ)區(qū)域。如果一旦設(shè)置了Flash的讀保護(hù),那么單片機(jī)內(nèi)置的Flash存儲(chǔ)區(qū)就只能通過(guò)程序的正常執(zhí)行才能讀出,而不能通過(guò)下述方式讀出:
(1) 使用調(diào)試器(JTAG或SWD);
(2)從內(nèi)存RAM中啟動(dòng)并執(zhí)行的程序;
2、寫(xiě)保護(hù)是以四頁(yè)(1KB/頁(yè)) Flash存儲(chǔ)區(qū)為單位提供寫(xiě)保護(hù),如果對(duì)Flash設(shè)置了寫(xiě)保護(hù),那么就無(wú)法對(duì)Flash進(jìn)行編程和擦除,而且同時(shí)產(chǎn)生操作錯(cuò)誤標(biāo)志。 當(dāng)出現(xiàn)下圖標(biāo)志的時(shí)候,就要檢查Flash是否被保護(hù)起來(lái)了。
03、讀保護(hù)與寫(xiě)保護(hù)的相關(guān)效果
當(dāng)設(shè)置讀保護(hù)與寫(xiě)保護(hù)時(shí),其效果如下圖所示:
1)flash保護(hù)的相關(guān)函數(shù)
2)STM32如何設(shè)置讀保護(hù)?
我們只需要在程序開(kāi)頭加入“設(shè)置讀保護(hù)”的代碼就可以,這樣就可以在每次運(yùn)行代碼的時(shí)候都檢查一下,如果沒(méi)有開(kāi)的話就打開(kāi),如果開(kāi)了就跳過(guò)。下面是讀保護(hù)的代碼:
當(dāng)我們?cè)诔绦虻拈_(kāi)頭執(zhí)行了上面的代碼之后,使用j-link就不能在讀出程序了,這樣就實(shí)現(xiàn)了讀保護(hù)。
3)如何通過(guò)代碼解除Flash保護(hù)
解除讀保護(hù)可以下面代碼來(lái)進(jìn)行解除,我們?yōu)榱朔奖憬怄i,可以設(shè)置一個(gè)按鍵。
來(lái)源:玩轉(zhuǎn)單片機(jī)與嵌入式
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理
審核編輯 黃宇
-
FlaSh
+關(guān)注
關(guān)注
10文章
1668瀏覽量
151050 -
STM32
+關(guān)注
關(guān)注
2290文章
11017瀏覽量
362634
發(fā)布評(píng)論請(qǐng)先 登錄
STM32如何設(shè)置讀保護(hù)和解除讀保護(hù)?
STM32CUBEMX開(kāi)發(fā)GD32F303讀保護(hù)與寫(xiě)保護(hù)概述

PIC單片機(jī)寫(xiě)保護(hù)的問(wèn)題
STM32的Flash寫(xiě)了保護(hù)怎么辦??
STM32對(duì)內(nèi)部Flash的保護(hù)措施
如何解決STM32芯片Flash寫(xiě)保護(hù)導(dǎo)致無(wú)法下載程序,無(wú)法在線調(diào)試的問(wèn)題
第51章 設(shè)置FLASH的讀寫(xiě)保護(hù)及解除

STM32的Flash讀寫(xiě)保護(hù),SWD引腳鎖的各種解決辦法匯總(2020-03-10)

STM32的Flash寫(xiě)了保護(hù)怎么辦?

如何解決STM32芯片Flash寫(xiě)保護(hù)的問(wèn)題
STM32的Flash寫(xiě)了保護(hù)怎么辦?
STM32CUBEMX開(kāi)發(fā)GD32F303(2)----讀保護(hù)與寫(xiě)保護(hù)

評(píng)論