小小毛

  • 69 主题
  • 213 帖子
  • 954 积分
  • 身份:版主
  • E币:1254

如何使用STM32H7 安全用户存储区(Secure User Memory)

2021-3-6 09:18:12 显示全部楼层
安全STM32H7 启动流程
安全STM32H7新增选项字节:SECURITY、 SEC_AREA
系统复位,装载选项字节的过程中,如果SECURITY置位,则无论BOOT引脚电平以及
BOOTADDR选项字节的内容,一定从位于片上系统FlashRSS启动
RSS会检查SEC_AREA的内容,是否已经有指定的有效区域(有效区域是指起始地址小于
结束地址)。如果区域有效,则跳转到它所指向的用户Flash上的“安全用户存储区”执行。
如果区域无效,则按照常规启动流程,根据BOOT引脚电平,选择从BOOTADDR0
BOOTADDR1指向的地址启动
BOOTADDR0BOOTADDR1可以填写[0x0,0x3FFF 0000]范围内的任意地址。 RDP2情况
下,系统只能从片上用户Flash启动。如果BOOTADDR0或者BOOTADDR1指向的不是片上
用户Flash,系统会强制从0x0800 0000启动
SECURITY=1时,系统复位时调试端口关闭
运行在RSS和安全用户存储区时,调试端口关闭
上电复位状态
只要使能Security并设置了安全用户闪存区的有效范围,则总是跳转到该区域的首地址运行
在这个区域(region A)内执行的时候,无法通过Debug连接芯片(即使RDP0状态下)
复位和运行在region A的时候,芯片处于安全访问模式。
芯片出厂时选项字节的缺省设置: SECURITY=0安全用户闪存区是无效区域
设置安全用户闪存区必须在SECURITY置位之后;否则设置无效
• “安全用户闪存区有效的情况下,或者PCROP区域有效的情况下,SECURITY的清
零无法成功;需要先把这两种区域都设置成无效,再对SECRUITY清零
• “安全用户闪存区的撤销,只需要运行在RSS安全用户闪存区的代码,把选项字节在Flash
口中对应的寄存器,其起始地址设置成大于结束地址,并让选项字节生效即可
• PCROP区域的撤销,需要通过RDP降级和PCROP区域无效,同时进行才能完成
具体的说明见附件中的文档:



游客,如果您要查看本帖隐藏内容请回复

您需要登录后才可以评论 登录 | 立即注册

最新评论

楼层直达:

SnailWillow

  • 34 主题
  • 148 帖子
  • 970 积分
  • 身份:版主
  • 论坛新秀
  • E币:1133
快速回复
1
4
广告
关闭 热点推荐上一条 /5 下一条
快速回复 返回列表