STM32H7内部Flash的读保护说明(Level0默认,Level1连接保护,Level2设备和自举保护)

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

posted @ 2020-03-11 13:14  硬汉嵌入式  阅读(1941)  评论(0编辑  收藏  举报