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設置: