www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 公眾號精選 > 玩轉(zhuǎn)單片機與嵌入式
[導(dǎo)讀]▼點擊下方名片,關(guān)注公眾號▼歡迎關(guān)注【玩轉(zhuǎn)單片機與嵌入式】公眾號,回復(fù)關(guān)鍵字獲取更多免費資料?;貜?fù)【加群】,限時免費進入知識共享群;回復(fù)【3D封裝庫】,常用元器件的3D封裝庫;回復(fù)【電容】,獲取電容、元器件選型相關(guān)的內(nèi)容;回復(fù)【阻抗匹配】,獲取電磁兼容性、阻抗匹配相關(guān)的資料回復(fù)【...






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




01什么是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)的配置信息。





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



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



1、讀保護就是大家通常說的“加密”,作用于整個Flash存儲區(qū)域。如果一旦設(shè)置了Flash的讀保護,那么單片機內(nèi)置的Flash存儲區(qū)就只能通過程序的正常執(zhí)行才能讀出,而不能通過下述方式讀出:
(1) 使用調(diào)試器(JTAG或SWD);
(2)從內(nèi)存RAM中啟動并執(zhí)行的程序;

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




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



當(dāng)設(shè)置讀保護與寫保護時,其效果如下圖所示:
讀保護 寫保護 對Flash的操作功能
有效 有效 CPU只能讀,禁止調(diào)試和非法訪問。
有效 無效 CPU可以讀寫,禁止調(diào)試和非法訪問,頁0~3為寫保護。
無效 有效 CPU可讀,允許調(diào)試和非法訪問。
無效 無效 CPU可以讀寫,允許調(diào)試和非法訪問。

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



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


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




End





本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉
關(guān)閉