• 资料介绍
    • 前言
    • 准备工作
    • 生成 OBK 并测试
    • 烧录程序再次测试
  • 资料预览
  • 相关推荐
申请入驻 产业图谱

LAT1329 STM32H5 DA之初体验(不带TrustZone)

03/24 08:38
252
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

LAT1329 STM32H5 DA之初体验(不带TrustZone)

1.28 MB

前言

本文是接着之前文档《STM32H5 DA 之初体验(带 TrustZone)》的后续之作。由于新的 product state 和 DA 的引入, 所有 STM32H5 开发者都必须掌握 DA 的用法。STM32H563 在 TrustZone 打开和不打开两种情况下, DA 所采用的策略是不相同的.当 TZ 打开时, 使用证书进行 DA, 而当 TZ 不打开时, 则使用密码来 DA。

因此, 本文档针对 STM32H5 初学者, 演示当 TZEN=0xC3(TrustZone 不打开)时, 使用密码来完成 DA 回退. 当 TrustZone 未激活时, 不支持 DA 调试.只支持 DA 回退。

此外, 由于 STM32H503 不带 TrustZone, 它的 DA 过程与 H563 不开启 TZ 的情况下类似. 除此之外, 与 H563 不同的是, H503 内部没有 OBK 区域, 因此, 预配置过程会将密码对应的 obk 文件写入芯片内部的 OTP 中。

准备工作

开发板 : NUCLEO-H563ZI

软件: STM32Cube_FW_H5_V1.1.0

工具:

  • STM32CubeProgrammer v2.14.0
  • Tera Term 串口终端显示
  • Trust Package Creator(安装 STM32CubeProgrammer 时一并安装, 注意勾选)

IDE: STM32CubeIDE v1.13.0STM32CubeH5 包我们需要将其放到一个没有空格没有中文的路径下, 在本动手实验中, 我们默认将其放在路径 C:workspace目录下

生成 OBK 并测试

在 STM32CubeH5 包下的路径 STM32Cube_FW_H5_V1.1.0ProjectsNUCLEOH563ZIROT_ProvisioningDA, 在此目录下, 已经包含了默认自带的 obk, 密钥. 其实我们可以直接使用这些 obk 以及对应的密钥, 但在这个文档我们将重新生成一套. 并测试它是否 OK。

烧录程序再次测试

接下来, 我们正式烧录一个程序并测试. 在 product state=open 状态下, 且 TZEN=0xC3 时, 此时烧录任何一个不带 TrustZone 的程序,并确保其在 OPEN 状态下能正常运行,然后将 productstate 切换到 provisioning 状态进行 DA 预配置, 重复 3.2 节步骤。

在预配置成功之后, 然后将 product state 切换到 CLOSED(0x72)状态. 此时 STLink 是无法再连接的, 然后检查程序是能依然正常运行. 这就是最终想要达到的效果.在此状态下, 可以通过 DA 进行回退。

还原

还原的过程参考 3.3 节, 步骤完全一致. 最终还原成功后, 全片 Flash 内容已经擦除.至此, 芯片完全恢复成原始状态。

资料预览

相关推荐