如何使用FlashPro-ARM编程器实现STM32H563/573的生命周期管理?

描述

 

用户使用调试器可以访问嵌入式系统的大部分资源,调试身份验证(Debug authentication)是系统的一个关键安全特性,可以控制调试端口的安全锁定或回归打开,可用于MCU的开发、和现场返回分析。

在TrustZone使能或禁止情况下,STM32H563/573都支持调试认证。在禁用TZ的情况下,使用密码实现回归。在启用TZ的情况下,可以使用加密证书打开调试端口。

ELprotronic公司的FlashPro是一种用于单件和小批量生产的单通道编程器,一次编程1个目标。FlashPro-ARM编程器支持所有STM32H563/573 MCU产品状态,包括配置密码管理和完全回归。目前支持禁止TrustZone时,实现STM32H563/573的调试验证。

本文介绍如何使用FlashPro-ARM编程器实现STM32H563/573的生命周期管理。

调试器

 

文件准备

 

要执行密码管理的provisioning,需要通过STM32 Trusted Package Creator工具生成*.obk文件,该文件用于配置进行MCU回归所需的条件。

STM32CubeFW_H5中提供了示例文件,Trusted Package Creator使用位于/Projects/NUCLEO-H563ZI/ROT_Provisioning/DA/Config路径下的DA_ConfigWithPassword.xml来设置该文件。

生成自定义配置文件的步骤如下:

1、打开Trusted Package Creator并选择H5

2、打开Obkey选项卡

3、选择DA_ConfigWithPassword.xml文件

4、根据需要更新密码

调试器

点击Generate OBKey生成相应的obk和password.bin文件。

 

FlashPro-ARM支持的操作

 

1、使用FlashPro-ARM执行生命周期和配置密码管理

打开FlashPro-ARM,选择STM32H563/573 MCU

调试器

打开Setup->Memory Protection对话框,选择Lifecycle management选修卡,勾选”Set Product state enable”,设置产品状态。

调试器

点击“DA/PROV”按钮(可选,但是没有密码管理,在移到更高的生命周期状态后不能完全回归),勾选”Enable provisioning”,通过“Browse”按钮设置Trusted Package Creator创建的*.obk文件路径,按“ok”按钮结束STM32 Debug authentication。

调试器

在Memory Protection选项卡中按“Ok”按钮,在主窗口中选中内存保护“Enable”框

调试器

即可使用FlashPro-ARM编程器中的“AUTO PROG”或“Lock Device”按钮,将MCU置于选定状态,进行密码管理操作。

2、完全回归

要执行完整的回归,需要一个*.bin文件,该文件存放生成*.obk文件的密码。

STM32CubeFW_H5中提供了password.bin示例文件。文件位于/Projects/NUCLEO-H563ZI/ROT_Provisioning/DA/Config目录。

执行完全回归的操作步骤如下:

打开FlashPro-ARM,选用STM32H563/573 MCU

打开Setup->Memory Protection选项卡,在lifecycle management选项中,使用“DA/PROV”按钮,勾选“Enable password”,使用“Browse”按钮设置相应的*.bin文件路径,在STM32 Debug authentication选项卡中按“Ok”按钮。

调试器

在Memory Protection选项卡中按“Ok”按钮,在主窗口中按“Clear Locked Device”按钮。

调试器

操作完成后,MCU回到“Open”状态。

3、设备发现操作

发现操作允许用户读取当前MCU状态和预置状态。

执行发现操作步骤:

打开FlashPro-ARM,选用STM32H563/573 MCU

打开Setup->Memory Protection选项卡,在lifecycle management选项中,按“Discover”按钮,在弹出的“Debug Authentication”窗口中,使用“Discover”按钮从MCU读取信息:

Device ID-MCU ID

Life Cycle-当前MCU状态

Integrity status-provisioning状态(0xeaeaeaea表示provisioned,provisioning失败为0xf5f5f5f5,在Open状态下0xf5f5f5f5)

调试器

初始MCU状态

调试器

配置后MCU状态

使能TrustZone时的调试验证很快实现。



审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分