0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

麦克泰技术 来源:麦克泰技术 2024-04-19 14:09 次阅读

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

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

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

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

ae99af7c-fe06-11ee-a297-92fbcf53809c.png

文件准备

要执行密码管理的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、根据需要更新密码

aed41626-fe06-11ee-a297-92fbcf53809c.png

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

FlashPro-ARM支持的操作

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

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

af3b8842-fe06-11ee-a297-92fbcf53809c.png

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

af60dbba-fe06-11ee-a297-92fbcf53809c.png

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

afdcb1fe-fe06-11ee-a297-92fbcf53809c.png

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

aff9131c-fe06-11ee-a297-92fbcf53809c.png

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

2、完全回归

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

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

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

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

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

b00f11bc-fe06-11ee-a297-92fbcf53809c.png

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

b0245798-fe06-11ee-a297-92fbcf53809c.png

操作完成后,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)

b03a5110-fe06-11ee-a297-92fbcf53809c.png

初始MCU状态

b04eb4c0-fe06-11ee-a297-92fbcf53809c.png

配置后MCU状态

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



审核编辑:刘清

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

    关注

    41

    文章

    3564

    浏览量

    129214
  • STM32
    +关注

    关注

    2266

    文章

    10870

    浏览量

    354746
  • 调试器
    +关注

    关注

    1

    文章

    300

    浏览量

    23686
  • MCU芯片
    +关注

    关注

    3

    文章

    246

    浏览量

    11384

原文标题:如何实现STM32H563/573的安全烧录

文章出处:【微信号:麦克泰技术,微信公众号:麦克泰技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于Rust语言中的生命周期

    Rust是一门系统级编程语言具备高效、安和并发等特,而生命周期是这门语言中比较重要的概念之一。在这篇教程中,我们会了解什么是命周期、为什么需要生命周期、如何使用
    的头像 发表于 09-19 17:03 867次阅读

    STM32H563的Ethernet DC electrical characteristics电压是多少V?

    请问STM32H563的Ethernet DC electrical characteristics电压是多少V,我需要和交换机芯片的RMII口进行链接,交换机芯片RMII口电平是1.8V。不知H563的RMII端口是否支持1.8V电平?
    发表于 03-11 06:55

    STM32H563的STlink-V3无法识别怎么解决?

    事情是这个样子的,自己试用了STM32H563的板子,但是H563的STLINK是STLINK-V3,和其他的开发板不一样,增加了电源控制的引脚,主控芯片端没有电,收到板子后,无法正常
    发表于 03-13 06:23

    STM32H563的I3C无法正常通信是为什么?

    STM32H563的I3C通讯问题,两块H563的开发板i3c通讯,两块板子烧的例程, I3C的线对接后。 无法正常通信,卡在while (HAL_I3C_GetState( hi3c1) != HAL_I3C_STATE_READY),不知道是什么原因
    发表于 07-03 07:29

    AutoScaling 生命周期挂钩功能

    摘要: AutoScaling 伸缩组实例管理功能全面升级,新上线生命周期挂钩(LifecycleHook)功能,方便用户更加灵活地管理伸缩组内实例。使用生命周期挂钩可以在伸缩组发生伸
    发表于 06-27 17:13

    理解数据生命周期管理思路

    数据生命周期管理的思考
    发表于 03-17 10:49

    在S32G2 RM中有“生命周期”,生命周期的完整含义是什么?

    在S32G2 RM中,有“生命周期”。生命周期的完整含义是什么,我们应该如何使用它?
    发表于 04-23 10:37

    如何通过STM32的串口实现简易脱机编程器

    如何通过STM32的串口实现简易脱机编程器如何通过STM32的串口实现简易脱机编程器如何通过
    发表于 04-25 09:38 60次下载

    Synopsys 启动硅生命周期管理计划

    Synopsis 的数据分析驱动的硅生命周期管理计划解决了 IC 生命周期中的质量、可靠性和安全挑战。
    发表于 08-18 15:37 822次阅读
    Synopsys 启动硅<b class='flag-5'>生命周期</b><b class='flag-5'>管理</b>计划

    生命周期管理:COTS视角

    全面的生命周期管理策略是保护程序和缓解与长期任务关键型系统中部署的 COTS 技术相关的挑战的关键。除了降低风险外,生命周期管理服务还通过确保及时购买和储存报废 (EOL) 组件并大大
    的头像 发表于 11-08 14:18 1056次阅读
    <b class='flag-5'>生命周期</b><b class='flag-5'>管理</b>:COTS视角

    Vue入门Vue的生命周期

    .生命周期 4.1生命周期是什么 Vue的生命周期, 就是Vue实例从创建到销毁的过程.
    的头像 发表于 02-06 16:16 840次阅读
    Vue入门Vue的<b class='flag-5'>生命周期</b>

    编译的标准生命周期

    编译的标准生命周期
    发表于 03-14 19:06 0次下载
    编译<b class='flag-5'>器</b>的标准<b class='flag-5'>生命周期</b>

    编译的标准生命周期

    编译的标准生命周期
    发表于 07-05 19:32 0次下载
    编译<b class='flag-5'>器</b>的标准<b class='flag-5'>生命周期</b>

    鸿蒙开发组件:DataAbility的生命周期

    应用开发者可以根据业务场景实现data.js/data.ets中的生命周期相关接口。DataAbility生命周期接口说明见下表。
    的头像 发表于 06-20 09:39 391次阅读

    什么是PLM产品生命周期管理系统?

    在当今竞争激烈的制造业环境中,企业不仅要关注产品的设计和生产,还需要对产品的整个生命周期进行全面管理。这包括了从产品概念构思、设计开发、生产制造、销售分发,到最终报废处理的每一个环节。为了高效、系统
    的头像 发表于 11-23 16:14 22次阅读
    什么是PLM产品<b class='flag-5'>生命周期</b><b class='flag-5'>管理</b>系统?