如果你還不了解什么是STM32對(duì)其Flash的保護(hù),那么就由小橙同學(xué)來給你講解一下什么是STM32的Flash保護(hù)!
什么是Flash?
STM32的FLASH組織結(jié)構(gòu),可能因不同系列、型號(hào)略有不同。比如大家熟悉的STM32F1中小容量一頁大小只有1K,而F1大容量一頁有2K。
還比如有些系列以扇區(qū)為最小單元,有的扇區(qū)最小16K,有的128K不等。
通常Flash包含幾大塊,這里以F40x為例:
主存儲(chǔ)器:用來存放用戶代碼或數(shù)據(jù)。
系統(tǒng)存儲(chǔ)器:用來存放出廠程序,一般是啟動(dòng)程序代碼。
OTP 區(qū)域:一小段一次性可編程區(qū)域,供用戶存放特定的數(shù)據(jù)。
選項(xiàng)字節(jié):存放與芯片資源或?qū)傩韵嚓P(guān)的配置信息。
什么是STM32對(duì)內(nèi)部Flash的保護(hù)?
所有的STM32芯片都會(huì)提供對(duì)Flash的保護(hù),防止對(duì)Flash的非法訪問,分為:寫保護(hù)和讀保護(hù)。
1、讀保護(hù)就是大家通常說的“加密”,作用于整個(gè)Flash存儲(chǔ)區(qū)域。如果一旦設(shè)置了Flash的讀保護(hù),那么單片機(jī)內(nèi)置的Flash存儲(chǔ)區(qū)就只能通過程序的正常執(zhí)行才能讀出,而不能通過下述方式讀出:
(1) 使用調(diào)試器(JTAG或SWD);
(2)從內(nèi)存RAM中啟動(dòng)并執(zhí)行的程序;
2、寫保護(hù)是以四頁(1KB/頁) Flash存儲(chǔ)區(qū)為單位提供寫保護(hù),如果對(duì)Flash設(shè)置了寫保護(hù),那么就無法對(duì)Flash進(jìn)行編程和擦除,而且同時(shí)產(chǎn)生操作錯(cuò)誤標(biāo)志。 當(dāng)出現(xiàn)下圖標(biāo)志的時(shí)候,就要檢查Flash是否被保護(hù)起來了。
讀保護(hù)與寫保護(hù)的相關(guān)效果
當(dāng)設(shè)置讀保護(hù)與寫保護(hù)時(shí),其效果如下圖所示:
讀保護(hù)寫保護(hù) 對(duì)Flash的操作功能
有效有效CPU只能讀,禁止調(diào)試和非法訪問。
有效無效CPU可以讀寫,禁止調(diào)試和非法訪問,頁0~3為寫保護(hù)。
無效有效CPU可讀,允許調(diào)試和非法訪問。
無效無效CPU可以讀寫,允許調(diào)試和非法訪問。
1、flash保護(hù)的相關(guān)函數(shù)
2、STM32如何設(shè)置讀保護(hù)?
我們只需要在程序開頭加入“設(shè)置讀保護(hù)”的代碼就可以,這樣就可以在每次運(yùn)行代碼的時(shí)候都檢查一下,如果沒有開的話就打開,如果開了就跳過。下面是讀保護(hù)的代碼:

當(dāng)我們?cè)诔绦虻拈_頭執(zhí)行了上面的代碼之后,使用j-link就不能在讀出程序了,這樣就實(shí)現(xiàn)了讀保護(hù)。
3、如何通過代碼接觸Flash保護(hù)解除讀保護(hù)可以下面代碼來進(jìn)行解除,我們?yōu)榱朔奖憬怄i,可以設(shè)置一個(gè)按鍵。

編輯:jq
-
FlaSh
+關(guān)注
關(guān)注
10文章
1749瀏覽量
155565 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7340瀏覽量
94826 -
STM32
+關(guān)注
關(guān)注
2310文章
11166瀏覽量
373611 -
代碼
+關(guān)注
關(guān)注
30文章
4970瀏覽量
74021
原文標(biāo)題:STM32的Flash寫了保護(hù)怎么辦?
文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
詳解MAX17613C:多功能電源保護(hù)芯片
LAT1180+STM32L4R9 的 QuadSPI Flash 通訊速率不理想應(yīng)用筆記
STM32讀保護(hù)的解除和出現(xiàn)的原因,使用串口和ST-LINK Utility解除讀保護(hù)
CW32F030的FLASH存儲(chǔ)器支持擦寫PC頁的保護(hù)功能
CW32F030 FLASH的讀保護(hù)功能
FLASH 存儲(chǔ)器4級(jí)讀保護(hù)等級(jí)的設(shè)置
STM32C011開發(fā)(3)----Flash操作
Flash讀保護(hù)怎么實(shí)現(xiàn)?
STM32項(xiàng)目分享:智能語音臺(tái)燈(機(jī)智云)
詳解線性穩(wěn)壓器IC的過電流保護(hù)與過熱保護(hù)
什么是Flash閃存以及STM32使用NAND Flash
這款具有IGBT保護(hù)的芯片其原理是什么?
STM32項(xiàng)目分享:STM32智能語音分類垃圾桶
STM32項(xiàng)目分享:STM32智能語音臺(tái)燈
詳解什么是STM32對(duì)其Flash的保護(hù)
評(píng)論