STM32H5 DA初体验

发布者:SparklingSun最新更新时间:2024-08-02 来源: elecfans关键字:TrustZone 手机看文章 扫描二维码
随时随地手机看文章

01前言

本文是接着之前文档《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 中。

02准备工作

开发板: NUCLEO-H563ZI

97d4f1f2-b4fa-11ee-8b88-92fbcf53809c.jpg

软件包: STM32Cube_FW_H5_V1.1.0

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

IDE: STM32CubeIDE v1.13.0

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

03生成OBK并测试

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

3.1. 生成 DA OBK 文件和密码文件

打开 TPC 工具。

97ed2f92-b4fa-11ee-8b88-92fbcf53809c.jpg

左边选择 H5, 上方选项卡选择 OBKey, 然后在 xml file 处选择C:/workspace/STM32Cube_FW_H5_V1.1.0/Projects/NUCLEOH563ZI/ROT_Provisioning/DA/Config/DA_ConfigWithPassword.xml, 然后在 Password 处输入你想要设置的密码, 这里我们直接使用默认密码即可。然后在 output file 处设置输出文件, 我们也使用默认即可。最后点击 Generate OBkey 按键, 在 Binary 目录下生成对应的 obk 文件和bin 文件 :

97fabb58-b4fa-11ee-8b88-92fbcf53809c.jpg

如上图所示, DA_ConfigWithPassword.obk 是用来做预配置(provisioning)用的, 而password.bin 则是在 DA 过程中需要的密码文件了。

3.2. 预配置 DA(provisioning)

接下来我们将做预配置 DA, 在此之前我们确保 TZEN=0xC3。

98050e78-b4fa-11ee-8b88-92fbcf53809c.jpg

然后将 product state 配置为 provisioning 状态 :

9811ea94-b4fa-11ee-8b88-92fbcf53809c.jpg

然后使用 STM32CubeProgrammer 进行预配置 :

981ee014-b4fa-11ee-8b88-92fbcf53809c.jpg

如上图所示, 在 OBKey file path 处输入C:workspaceSTM32Cube_FW_H5_V1.1.0ProjectsNUCLEOH563ZIROT_ProvisioningDABinaryDA_ConfigWithPassword.obk 文件, 再点击 Start Provisioning 按键…

9833f0ee-b4fa-11ee-8b88-92fbcf53809c.jpg

结果将弹出对话框提示预配置成功。

3.3. DA 回退

接下来我们直接使用密码进行 DA 回退…

983dafd0-b4fa-11ee-8b88-92fbcf53809c.jpg

如上图, 在 STM32CubeProgrammer 断开的情况下, 点击 Discover…

984bdace-b4fa-11ee-8b88-92fbcf53809c.jpg

如上图所示, 在 Password File Path 处输入密码文件 workspaceSTM32Cube_FW_H5_V1.1.0ProjectsNUCLEOH563ZIROT_ProvisioningDABinarypassword.bin

然后点击 Full Regression 按键…

985faf36-b4fa-11ee-8b88-92fbcf53809c.jpg

如上图所示, 成功时会弹出提示对话框。

这表示, 之前 DA 预配置的 obk 文件与当前输入的密码文件是匹配的。

04烧录程序再次测试

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

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

05还原

还原的过程参考 3.3 节, 步骤完全一致。最终还原成功后, 全片 Flash 内容已经擦除。

至此, 芯片完全恢复成原始状态。


关键字:TrustZone 引用地址:STM32H5 DA初体验

上一篇:STM32的ADC实验
下一篇:STM32定时器(三)输入捕获

推荐阅读最新更新时间:2024-11-09 11:08

STM32H5开发(3)----电源控制和RCC
STM32H503 供电 VDDA = 1.62 V ~3.6 V :ADC/DAC的外部供电电源 VDDIO2 = 1.08 V ~ 3.6 V : 9 I/Os (PA8, PA9, PA15, PB3:8)的外部供电电源(仅WLCSP25封装) VDD = 1.71 V ~ 3.6 V: GPIO,内部电压调制器,系统复位模块,电源管理以及内部时钟的外部供电电源 VBAT = 1.2 V ~ 3.6 V :无VDD时通过功率切换开关给RTC/内部32kHz振荡器(LSI)/备份域寄存器/可选的备份SRAM供电. 最近在弄ST的课程,需要样片的可以加群申请:615061293 。 样品申请 https://www.wjx.
[单片机]
<font color='red'>STM32H5</font>开发(3)----电源控制和RCC
EtherCAT总线型DA200系列高性能伺服系统方案
项目背景 01 玻璃精雕机以自身所具有的技术优势,加上合理的价格,已成为我国消费类电子零配件制造、小型准确模具制造、五金制品、家具制造、手机玻璃等行业重要的设备工具。随着该设备应用领域的不断拓展,其市场规模也不断扩大,技术的不断成熟与合理的价格,其性价比逐渐得到业界的认可,市场快速扩大。 现场应用视频 客户需求 02 玻璃精雕机作为数控机床的一种,应用于超薄玻璃的精细加工。在东莞市的某机械企业,其要求产品具有防护等级高、精度高、响应快等特性,且提升生产效率和使用寿命。 英威腾方案 03 由此,英威腾为客户制定DA200玻璃精雕机专用伺服方案。方案是在EtherCAT总线型DA200系列高性能伺服系统的基础上,通过改进防护
[嵌入式]
EtherCAT总线型<font color='red'>DA</font>200系列高性能伺服系统方案
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved