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设置:
STM32H7内部Flash的读保护说明(Level0默认,Level1连接保护,Level2设备和自举保护)
最新推荐文章于 2026-05-10 05:38:28 发布
本文详细介绍了STM32微控制器的读出保护(RDP)功能,包括Level0无保护,Level1 Flash连接保护,及Level2设备保护和自举保护。Level1防止调试器读取Flash内容,Level2则全面禁用调试特性,且修改为永久性。
&spm=1001.2101.3001.5002&articleId=104794705&d=1&t=3&u=0a74ef97493b49c287db1614ad1361be)
9914

被折叠的 条评论
为什么被折叠?



