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

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

3天内不再提示

如何实现Infineon TRAVEO T2G系列MCU的安全调试

IAR爱亚系统 ? 来源:IAR爱亚系统 ? 2025-09-05 09:37 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者

郑文灏

IAR中国现场应用工程师

陈光爱

英飞凌汽车电子事业部大中华区首席现场应用工程师

本文得到了英飞凌中国区的大力支持,特别感谢英飞凌汽车电子事业部大中华区首席现场应用工程师陈光爱在技术指导和专业意见方面给予的宝贵帮助。

随着汽车电子系统变得越来越智能,对功能安全(Safety)的要求越来越高,同时信息安全(Security)也越来越被关注,安全调试(Secure Debug)机制已成为一个重要的信息安全特性。Infineon TRAVEO T2G系列MCU在满足高性能需求的同时,集成了完整的硬件安全特性,包括生命周期管理、安全启动(Secure Boot)、硬件加密引擎以及调试端口访问控制(安全调试)等。这些机制协同作用,可有效防止未经授权的访问与代码数据篡改。

本文主要介绍如何在IAR Embedded Workbench for Arm中实现Infineon TRAVEO T2G的安全调试。

01Infineon TRAVEO T2G生命周期管理

设备生命周期是 TRAVEO T2G MCU 安全机制中的核心环节。其各个阶段按照严格的、不可逆的流程推进,并通过电子保险丝(eFuse)实现状态切换(将保险丝位从“1”永久熔断为“0”)。这种机制确保了生命周期一旦进入新的阶段便无法回退,从而能够根据客户需求,可靠地对设备内部的数据与代码实施不同层级的保护。

TRAVEO T2G MCU 生命周期共分NORMAL_PROVISIONED, SECURE, SECURE_WITH_DEBUG, RMA(Return Material Authorization), CORRUPTED 5个阶段,如下两图展示的是生命周期的切换顺序,以及对应的保护状态(NORMAL, SECURE, DEAD)。

5ff04a08-83bf-11f0-a18e-92fbcf53809c.png

6003e158-83bf-11f0-a18e-92fbcf53809c.png

02调试端口访问控制机制

CYT2B7x 调试架构简介

CYT2B7x 的物理调试接口支持 JTAG接口和SWD接口,内接的Arm 调试端口(DAP)有三组访问端口(access port),分别为SYSTEM-AP(AP0),CM0-AP(AP1),CM4-AP(AP2)。其中,CM0-AP用于访问CM0+,CM4-AP用于访问CM4,SYSTEM-AP用于访问System ROM table,以及AHB总线上的组件资源。

6016e5aa-83bf-11f0-a18e-92fbcf53809c.png

用户可以通过编写程序通过CPUSS_AP_CTL寄存器可单独设置3个AP端口的调试器访问权限。

6027a8ea-83bf-11f0-a18e-92fbcf53809c.png

调试端口控制策略

调试端口控制(Access restriction)共分为4种:Normal, Normal Dead, Secure, Secure Dead。下图是调试端口控制(Access restriction)与生命周期(Lifecycle stage)、保护状态(Protection state)的关系,以及Boot阶段从哪组配置字(SFlash或者eFuse)获取调试端口访问权限配置,并由Boot代码写入到CPUSS_AP_CTL寄存器中。

603961d4-83bf-11f0-a18e-92fbcf53809c.png

以下是MCU复位后的boot阶段,配置调试端口访问权限的流程。

6051c9f4-83bf-11f0-a18e-92fbcf53809c.png

以下是eFuse中的Secure Access Restrictions 和 Secure Dead Access Restrictions 配置字。

6064b6d6-83bf-11f0-a18e-92fbcf53809c.png

6082ab00-83bf-11f0-a18e-92fbcf53809c.png

下表显示了 SFLASH Row 13 配置字。Normal Access Restrictions 和 Normal Dead Access Restrictions 分别存储在 SFLASH Row 13 配置字(0x17001A00~0x17001BFF)的第一个字(0x17001A00)和第二个字(0x17001A04)中。

609ab8da-83bf-11f0-a18e-92fbcf53809c.png

AP_CTL_ M0/M4/SYS_ DISABLE 定义了 M0/M4/SYS 调试端口 (DAP) 的调试器访问权限。根据 AP_CTL_ M0/M4/SYS_ DISABLE 提供的配置字信息,Boot 代码向 CPUSS_AP_CTL.CM0/CM4/SYS_ENABLE 和 CPUSS_AP_CTL.CM0/CM4/SYS_ DISABLE 位写入对应的值,如下表所示:

60b43f4e-83bf-11f0-a18e-92fbcf53809c.png

03安全调试示例

示例简介

本示例来自于“AN228680 – Secure system configuration in TRAVEO T2G family”应用手册的“16.1.1 Debug access port authentication”

软硬件环境:IAR Embedded Workbench for Arm 9.70.1 + KitProg3 CMSIS-DAP 硬件调试器 + Infineon CYT2B7x MCU

生命周期配置为NORMAL_PROVISIONED

SFlash Row 13 配置字Normal Access Restrictions为AP_CTL_CM0 / CM4 / SYS -> 01 – Temporary Disable

CM0+ 程序来自于sdl_additional_code_examples_v8.3.0和T2G_Sample_Driver_Library_8.3.0,负责配置Sflash调试端口配置字,确保MCU上电后,CM0+和CM4调试端口关闭,仅打开SYS-AP端口,以便硬件调试器访问调试解锁认证数据区域。 CM0+程序还负责MCU侧的CM4调试端口解锁流程。

通过IAR Embedded Workbench for Arm C-SPY调试脚本与CYT2B7x CM0+程序进行调试端口解锁流程交互。

调试端口加锁

由CM0+软件工程将Normal Access Restrictions 配置字布局到SFlash Row 13区域,下载CM0+软件工程时,相应的配置字就会写入到SFlash区域。

Normal Access Restrictions 配置:

o AP_CTL_M0_DISABLE: 01 - Temporary Disable

o AP_CTL_M4_DISABLE: 01 - Temporary Disable

o AP_CTL_SYS_DISABLE: 01 - Temporary Disable

128 位调试解锁密钥(key0 - key3)存储在Work Flash中(地址 = 0x14012000)。

调试端口解锁流程

下图为调试端口解锁流程图,其中:

CM0+侧:

Boot代码设置所有调试端口CM0/CM4/SYSTEM关闭(取决于 SFLASH)

CM0+程序打开SWD/JTAG引脚,并打开SYSTEM_DAP端口(下图步骤4-6)

CM0+程序等待IPC中断

当中断到来时,通过SRAM_SCRATCH地址检查128 位密钥值,如果与Work Flash中(地址 = 0x14012000)中的预设密钥值匹配正确,则开启调试端口AP_CTL (下图步骤10-17)

IAR Embedded Workbench for Arm C-SPY调试平台侧:

通过SYSTEM_DAP(DAP端口号0)(下图步骤7,8)将值写入指定地址

通过IPC寄存器生成中断 (下图步骤9)

等待 CM0+ 侧通过AP_CTL打开CM0+和CM4的调试端口 (下图步骤18)

60c9b89c-83bf-11f0-a18e-92fbcf53809c.png

IAR Embedded Workbench for Arm进行CYT2B7x MCU CM4工程安全调试流程

1. 准备工作

CM0+软件示例工程已经成功下载到CYT2B7x MCU中。

任一个CM4软件示例工程。

2. 配置硬件调试器,本示例使用KitProg3 CMSIS-DAP 硬件调试器(如左下图配置),用户也可以使用I-jet硬件调试器(如右下图配置)

60e517ae-83bf-11f0-a18e-92fbcf53809c.png

3. 在Debugger选项中,按下图格式输入密钥,本示例正确密钥为0x00112233445566778899AABBCCDDEEFF。

* MCU侧,密钥已由CM0+工程预先下载保存在Work Flash中。

60f9d5d6-83bf-11f0-a18e-92fbcf53809c.png

4. 启动调试后,在连接内核时,会调用C-SPY调试脚本的函数_ExecDeviceCoreConnect() -> TVII_CheckDAP()&TVII_IsAPEnabled(1) ->TVII_Unlock(),将密钥写入相应的寄存器。

610a75ee-83bf-11f0-a18e-92fbcf53809c.png

5. TVII_Unlock()函数在执行完密钥写入后,通过TVII_WaitForResponse()函数来检查认证结果状态字,来判断DAP调试端口是否认证成功(如果认证成功,CM0+侧程序会修改状态字0x55000000变为0xAA000000,状态字位于0x08002700地址)。密钥匹配成功后,调试器成功连接CM4调试端口。

611ff090-83bf-11f0-a18e-92fbcf53809c.png

6. 在Debugger选项中,如果输入不正确的密钥0x22112233445566778899AABBCCDDEEFF。本示例正确密钥为0x00112233445566778899AABBCCDDEEFF。

613df374-83bf-11f0-a18e-92fbcf53809c.png

7. TVII_Unlock()函数在执行完密钥写入后,通过TVII_WaitForResponse()函数来检查认证结果状态字,来判断DAP调试端口是否认证成功。由于输入密钥错误,调试器连接CM4内核失败,退出调试界面。

615250c6-83bf-11f0-a18e-92fbcf53809c.png

04总结

本文以Infineon TRAVEO T2G CYT2B7x为例介绍了如何在IAR Embedded Workbench for Arm中实现TRAVEO T2G的安全调试。TRAVEO T2G的调试端口解锁流程由CM0+控制,因此用户也可以根据项目需求重新设计CM0+程序代码来进行调试端口解锁流程(比如:基于加密认证算法的身份认证机制来解锁),IAR Embedded Workbench for Arm C-SPY调试脚本也完全可以适配实现用户的自定义调试端口解锁流程。

其他TRAVEO T2G型号的 MCU 也有相似的安全调试机制, 如有任何问题或需求,欢迎联系IAR中国获取更多详细信息。

参考资料:

1. TRAVEO T2G Automotive MCU body controller entry architecture technical reference manual

2. Infineon an228680 secure system configuration in TRAVEO T2G family

3. Infineon TRAVEO T2G boot training

4. Infineon TRAVEO T2G device security training

5. Infineon TRAVEO T2G program and debug interface training

6. Configure Normal (Dead) Access Restriction on TRAVEO T2G MCU

7. IAR Embedded Workbench for Arm C-SPY Debugging Guide

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

    关注

    68

    文章

    2383

    浏览量

    141213
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18173

    浏览量

    373290
  • 调试
    +关注

    关注

    7

    文章

    616

    浏览量

    34929
  • Infineon
    +关注

    关注

    2

    文章

    104

    浏览量

    30390
  • Traveo
    +关注

    关注

    0

    文章

    4

    浏览量

    7875

原文标题:在IAR Embedded Workbench for Arm中实现Infineon TRAVEO? T2G安全调试

文章出处:【微信号:IAR爱亚系统,微信公众号:IAR爱亚系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    英飞凌携手Green Hills Software,提供基于TRAVEO? T2G 系列微控制器的、完整的汽车安全解决方案

    Software 展开合作,为汽车行业高级安全应用的开发和部署提供完善的生态系统。该项合作结合了英飞凌领先的 TRAVEO? T2G车身及仪表盘 微控制器系列产品,以及Green H
    发表于 01-12 11:47 ?930次阅读
    英飞凌携手Green Hills Software,提供基于<b class='flag-5'>TRAVEO</b>? <b class='flag-5'>T2G</b> <b class='flag-5'>系列</b>微控制器的、完整的汽车<b class='flag-5'>安全</b>解决方案

    汽车安全与网络安全:英飞凌AURIX? TC3xx、TC4x、TRAVEO? T2G 和 PSoC 系列微控制器支持 Rust 语言

    的 AURIX? TC3xx 和TRAVEO? T2G 车用 MCU将率先支持Rust语言。虽然TRAVEO? 使用的是 Rust 官方工
    发表于 04-23 16:54 ?1430次阅读
    汽车<b class='flag-5'>安全</b>与网络<b class='flag-5'>安全</b>:英飞凌AURIX? TC3xx、TC4x、<b class='flag-5'>TRAVEO</b>? <b class='flag-5'>T2G</b> 和 PSoC <b class='flag-5'>系列</b>微控制器支持 Rust 语言

    英飞凌推出TRAVEO T2G-C系列图形MCU,以MCU的成本为汽车图形应用提供堪比MPU的性能

    MCU)。该引擎采用全新的智能渲染技术,可为汽车图形应用带来出众的性能。这款全新MCU占用空间小,可简化主机厂的集成并降低BOM(材料清单)成本,适用于汽车、摩托车、非公路移动出行交通工具的高级智能移动仪表盘和平视显示系统以及注重质量和
    发表于 12-26 11:44 ?1487次阅读
    英飞凌推出<b class='flag-5'>TRAVEO</b> <b class='flag-5'>T2G</b>-C<b class='flag-5'>系列</b>图形<b class='flag-5'>MCU</b>,以<b class='flag-5'>MCU</b>的成本为汽车图形应用提供堪比MPU的性能

    TRAVEO T2G支持freeRTOS吗?

    我正在使用 Traveo-T2G 套件。 CYTVII-2D-4M-216 套件和 CYT3DLABHBES cpu。 我正在运行英飞凌提供的 TRAVEO T2G 示例驱动程序库。
    发表于 05-21 07:36

    Traveo T2G CYT2B73BADQ0AZSGS上运行JTAG边界扫描,为什么无法从设备的JTAG端口获得任何响应?

    我试图在 Traveo T2G CYT2B73BADQ0AZSGS 上运行 JTAG 边界扫描。 目前,我无法从设备的 JTAG 端口获得任何响应。 有没有人设法在该设备上运行边界扫描测试。为了运行边界扫描,我是否需要启用任何配
    发表于 05-22 07:19

    使用TLE7258SJXUMA1收发器和TRAVEO T2G,lin将其连接到traveo,lin信号就会消失怎么解决?

    你好,我正在使用 TLE7258SJXUMA1 收发器和 TRAVEO T2G。 我连接了 Lin RX 端口 5.0 和 Tx 端口 5.1。 配置如下 #define
    发表于 05-28 06:25

    求助,关于TRAVEO MCU闪存启动流程的问题求解

    我有一个关于 TRAVEO MCU 闪存启动流程的问题。 Q) 架构 TRM - 34.3.3 闪存启动流程,(6)、(8)、(9)、(10)、(11)、(12) 和 (13) 可以在 NORMAL
    发表于 05-30 06:25

    求助,关于TRAVEO? II MCU安全调试的几个问题求解

    我对TRAVEO? II MCU安全调试有几个问题。 1.TRAVEO TRAVEO? II
    发表于 05-30 07:34

    如何为T2G的CM7高速缓存启用ECC?

    如何为 T2G 的 CM7 高速缓存启用 ECC。
    发表于 07-02 07:57

    如何使用DFU或MCUboot启动TRAVEO2引导加载程序?

    我想要示例,将 TRAVEO2 的引导加载程序应用于套件KIT_T2G-B-E_LITE ,我尝试使用应用于其他 uC 系列的示例,但没有成功。 我确实遵循了GitHub 中的示例
    发表于 07-24 08:16

    调用Cy_ReadFuseByte()函数,返回0xF0000005是怎么回事?

    大家好, 我们正在使用TRAVEO? CYT3BB MCU,并按照“如何使用系统调用(SROM API)在TRAVEO? T2G 系列中处理
    发表于 07-24 07:08

    TRAVEO? T2G系列支持哪些HMI、GUI开发工具?

    TRAVEO? T2G系列支持哪些HMI、GUI开发工具?
    发表于 07-25 07:02

    英飞凌AURIX TC3xx和TRAVEO T2G系列微控制器介绍

    英飞凌市场领先的 AURIX TC3xx 和TRAVEO T2G 车用 MCU将率先支持Rust语言。虽然TRAVEO 使用的是 Rust 官方工具链和Arm Cortex-M 目标架
    发表于 06-20 15:07 ?1582次阅读
    英飞凌AURIX TC3xx和<b class='flag-5'>TRAVEO</b> <b class='flag-5'>T2G</b><b class='flag-5'>系列</b>微控制器介绍

    IAR全面支持英飞凌最新的TRAVEO T2G CYT6BJ车身控制MCU家族产品

    在汽车车身电子应用领域内,32位的TRAVEO T2G Arm Cortex凭借其高能效和广泛的可扩展性,而受到市场的青睐。该MCU家族提供高性能的系列产品,支持最新的车内网络,并嵌入
    的头像 发表于 06-27 16:02 ?1180次阅读
    IAR全面支持英飞凌最新的<b class='flag-5'>TRAVEO</b> <b class='flag-5'>T2G</b> CYT6BJ车身控制<b class='flag-5'>MCU</b>家族产品

    英飞凌TRAVEO? T2G汽车MCU将获ISO/SAE 21434合规认证

    。 作为全球功率系统和物联网领域的半导体领导者,英飞凌科技股份公司致力于为客户提供安全的汽车解决方案。其TRAVEO? T2G汽车微控制器(MCU)
    的头像 发表于 01-21 10:53 ?625次阅读