STM32H7內部Flash的讀保護說明(Level0默認,Level1連接保護,Level2設備和自舉保護)

  • 2020 年 3 月 15 日
  • 筆記

RDP(read out protection) 1、Level 0(無保護)   默認設置,所有讀寫和擦除操作都可以正常支援。 2、Level 1 (Flash連接保護) (1)可以防止連接調試器時讀取Flash內容,或者RAM中存有惡意獲取程式碼,也是禁止的。         因此只要調試器連接晶片,或者從內部RAM啟動運行程式碼,都是禁止訪問內部Flash的 (2)如果沒有檢測到從內部RAM啟動,從系統bootloader啟動且沒有連接調試器,對用戶Flash的讀寫和擦除操作都是允許的,並且其它安全存儲區也是可以訪問的。否則是禁止訪問的,一旦檢測到對Flash的讀請求,將產生匯流排錯誤。 (3)如果將Level 1切換到Level 0時,用戶Flash區和安全區域將被刪除。 3、Level 2(設備保護和自舉保護) (1)所有調試特性被關係。 (2)禁止從RAM啟動。 (3)除了選項位元組裡面的SWAP位可以配置,其它位都無法再更改。 (4)禁止了調試功能,且禁止了從RAM和系統bootloader啟動,用戶Flash區是可以執行讀寫和擦除操作的,訪問其它安全存儲區也是可以的。 特別注意:Level2修改是永久性的,一旦配置為Level2將不再支援被修改。 一覽表:

設置讀保護的話,使用HAL的API可以設置,也可以使用STM32CubeProg設置: