X-Works
杂谈

AURIX TC334 UCB、BMHD 与锁步功能完全指南

·

AURIX TC334 UCB、BMHD 与锁步功能完全指南

Infineon AURIX TC3xx 系列 | 启动配置 | 功能安全 | 嵌入式系统

1. 概述

TC334 是 Infineon AURIX TC3xx 系列的一款高性能汽车级 MCU,专为功能安全应用设计(支持 ISO 26262 ASIL-D)。芯片的启动配置和安全机制依赖三个核心概念的协同工作:

功能说明
UCBUser Configuration Block,存储在 DFlash 中的用户配置块,用于配置芯片启动参数、保护设置等
BMHDBoot Mode Header,存储在 UCB 中的启动模式头,定义启动模式、启动地址、锁步使能等
Lockstep锁步核技术,通过双核并行执行相同指令并比较结果,实现单点故障检测

启动架构总览

电源上电 → 模拟电路启动 → Boot ROM 执行 ↓ 采样 HWCFG 引脚 / 读取 BMHD ↓ CRC 验证 + BMI 配置解析 ↓ 执行 SSW(Startup Software) ↓ 用户应用程序启动(从 STAD 跳转)

BMHD 在 Boot ROM 和 SSW 之间充当配置桥梁:决定芯片启动模式、控制 LBIST/MBIST 自检、指定用户代码地址、配置锁步核使能,以及激活密码保护。

2. UCB(User Configuration Block)

2.1 UCB 简介

UCB 是 DFlash(数据闪存)中专门为用户配置预留的存储区域,总大小约 24 KB,起始地址为 0xAF400000,结束地址为 0xAF405FFF

  • 每个 UCB 块大小为 512 字节
  • 总共 48 个 UCB 配置项(UCB00 ~ UCB47)
  • BMHD 占据前 8 个 UCB 块(4 组 ORIG + 4 组 COPY)

2.2 UCB 存储映射

地址范围UCB 编号用途
0xAF400000 - 0xAF4001FFUCB00BMHD0_ORIG(支持密码保护)
0xAF400200 - 0xAF4003FFUCB01BMHD1_ORIG
0xAF400400 - 0xAF4005FFUCB02BMHD2_ORIG
0xAF400600 - 0xAF4007FFUCB03BMHD3_ORIG
0xAF400800 - 0xAF400FFF保留区域
0xAF401000 - 0xAF4011FFUCB08BMHD0_COPY(备份)
0xAF401200 - 0xAF4013FFUCB09BMHD1_COPY(备份)
0xAF401400 - 0xAF4015FFUCB10BMHD2_COPY(备份)
0xAF401600 - 0xAF4017FFUCB11BMHD3_COPY(备份)
0xAF401800 - 0xAF405FFFUCB12~47SSW 配置、用户配置、HSM 配置等

2.3 UCB 的核心作用

TC3xx 芯片启动时运行固化在芯片内部的 SSW(Startup Software),SSW 读取 UCB 中的配置执行以下操作:

  • 应用程序跳转地址:通过 BMHD.STAD 指定
  • 启动模式选择:Internal Start / ABM / Bootloader 等
  • 锁步核使能:是否启用 CPU 的锁步监控
  • LBIST 操作:是否在冷启动时执行逻辑内建自测试
  • RAM 初始化配置:是否在启动时初始化 RAM

2.4 UCB 的访问保护

UCB 支持密码保护机制。其中 BMHD0_ORIG 和 BMHD0_COPY 支持 256 位密码保护,BMHD1-3 不支持密码保护。保护状态可通过 DMU_HF_PROTECT.PRODISx 寄存器查看。

Confirmation 字段与保护状态

状态值状态名说明
0x43211234UNLOCKED未锁定,可直接修改
0x57B5327FCONFIRMED已确认,启用保护
0xFFFFFFFFERRORED擦除状态或错误
其他值UNINITIALIZED未初始化

2.5 UCB 修改流程

当 UCB 处于 CONFIRMED 状态时,修改需要遵循以下安全流程:

  1. 确认 ORIG 和 COPY 的 confirmation codes 为 CONFIRMED
  2. 应用密码禁用保护(Disable Protection)
  3. 擦除 COPY UCB(confirmation code 先被擦除,视为 ERRORED)
  4. 编程 COPY UCB,设置 confirmation code 为 CONFIRMED
  5. 擦除 ORIG UCB(confirmation code 先被擦除,视为 ERRORED)
  6. 编程 ORIG UCB,设置 confirmation code 为 CONFIRMED
  7. 重新启用保护或重启设备
提示:如果 UCB 处于 UNLOCKED 状态(confirmation = 0x43211234),可以直接擦除和编程,无需密码。开发阶段建议保持 UNLOCKED 状态。

3. BMHD(Boot Mode Header)

3.1 BMHD 简介

BMHD(Boot Mode Header)是存储在 UCB 中的核心启动配置结构。TC3xx 提供 4 组 BMHD(BMHD0 ~ BMHD3),每组包含 ORIG(原始)和 COPY(备份)两个副本,共 8 个副本,构成四重冗余设计。

冗余设计的目的:

  • 防止单点故障:某个副本损坏时 Boot ROM 自动尝试后续副本
  • 安全在线更新:ORIG-COPY 配对机制支持不断电更新
  • 多应用支持:可存储 4 种不同的启动配置(生产/测试/诊断/恢复固件)

3.2 BMHD 数据结构

每个 BMHD 结构共 512 字节,定义如下:

typedef struct {
    unsigned short bmi;             // 0x000: Boot Mode Index (16 bits)
    unsigned short bmhdid;          // 0x002: Boot Mode Header ID = 0xB359
    unsigned int   stad;            // 0x004: User Code Start Address
    unsigned int   crc;             // 0x008: CRC32 Check Result
    unsigned int   crcInv;          // 0x00C: Inverted CRC (~crc)
    unsigned int   reserved0[60];   // 0x010: Reserved (240 bytes)
    unsigned int   pw[8];           // 0x100: Password Protection (256 bits)
    unsigned int   reserved1[52];   // 0x120: Reserved (208 bytes)
    unsigned int   confirmation;    // 0x1F0: Confirmation Code
} Ifx_Ssw_Bmhd;                     // 总大小:512 字节

内存布局

偏移量字段大小含义
0x000BMI2 字节启动模式索引
0x002BMHDID2 字节固定标识符 = 0xB359
0x004STAD4 字节用户代码入口地址
0x008CRCBMHD4 字节BMI + BMHDID + STAD 的 CRC32
0x00CCRCBMHD_N4 字节CRC 的按位取反
0x010 - 0x0FFReserved240 字节保留,必须写 0
0x100 - 0x11FPW[0:7]32 字节密码保护(256 位)
0x120 - 0x1EFReserved208 字节保留,必须写 0
0x1F0Confirmation4 字节确认码

3.3 BMI(Boot Mode Index)位域详解

BMI 是 16 位字段,控制芯片的启动行为和安全功能:

位域名称说明
Bit 0PINDIS硬件引脚选择模式使能:0 = 启用 HWCFG 引脚;1 = 禁用 HWCFG 引脚
Bit 3:1HWCFG启动模式选择(详见下表)
Bit 4LSENA0CPU0 锁步监控使能:0 = 禁用;1 = 启用
Bit 5LSENA1CPU1 锁步监控使能:0 = 禁用;1 = 启用
Bit 6LSENA2CPU2 锁步监控使能:0 = 禁用;1 = 启用
Bit 7LSENA3CPU3 锁步监控使能:0 = 禁用;1 = 启用
Bit 8LBISTENASSW 启动 LBIST 使能:0 = 禁用;1 = 冷启动时执行 LBIST
Bit 11:9CHSWENASSW 后检查软件(CHSW)执行:101B = 禁用;其他 = 启用
Bit 15:12Reserved保留,必须配置为 0

HWCFG 启动模式选择

HWCFG 值启动模式说明应用场景
111BInternal Start直接从内部 PFlash 执行用户代码生产、量产应用
110BABM(Alternate Boot Mode)通过 ABM Header 间接跳转Bootloader 场景
100BGeneric BSL自动选择 ASC 或 CAN 通信下载代码固件升级
011BASC BSL通过 ASC(串口)协议下载代码开发、调试

3.4 STAD(Start Address)

STAD 指定用户代码入口地址。通常设为 0xA0000000,即 PFlash 起始地址的非缓存映射

使用非缓存地址的原因:

  • 启动阶段缓存和 TLB 未初始化
  • 非缓存地址直接映射物理地址,无需 TLB 查询
  • 保证即使 MMU 配置不当也能访问代码
  • Infineon 所有 AURIX 平台的标准做法
地址映射说明:无 Cache 的 Flash 从 0xA000 0000 开始;有 Cache 的 Flash 从 0x8000 0000 开始。启动阶段必须使用无 Cache 地址。

3.5 CRC 计算

BMHD 使用 CRC-32(IEEE 802.3 标准) 保证数据完整性:

  • 多项式:0x04C11DB7
  • 初始值:0xFFFFFFFF
  • 计算范围:BMI(2 字节)+ BMHDID(2 字节)+ STAD(4 字节)= 8 字节
  • CRCBMHD_N:CRCBMHD 的按位取反(双重校验增强可靠性)

Python 计算示例

import struct
import zlib

def calculate_bmhd_crc(bmi, bmhdid, stad):
    # 按大端序打包前 8 字节
    data = struct.pack('>HHI', bmi, bmhdid, stad)
    crc = zlib.crc32(data) & 0xFFFFFFFF
    crc_inv = crc ^ 0xFFFFFFFF
    return crc, crc_inv

# 示例:STAD = 0xA0000000
crc, crc_inv = calculate_bmhd_crc(0x003E, 0xB359, 0xA0000000)
print(f"CRC: 0x{crc:08X}")      # 0xD86CBDAB
print(f"CRCINV: 0x{crc_inv:08X}") # 0x27934254
常见 CRC 计算错误:
  • 字节序错误:必须使用大端序(Big Endian)
  • 输入长度错误:只取前 8 字节参与计算
  • 多项式选择错误:必须用 IEEE 802.3 多项式
  • 反码计算错误:CRCINV = CRC ^ 0xFFFFFFFF

3.6 BMHD 评估与故障转移

SSW 按以下顺序评估 BMHD,直到找到有效配置:

BMHD0_ORIG → BMHD0_COPY → BMHD1_ORIG → BMHD1_COPY → BMHD2_ORIG → BMHD2_COPY → BMHD3_ORIG → BMHD3_COPY

评估流程(每个副本):

  1. 检查 BMHDID 是否为 0xB359
  2. 验证 CRCBMHD 和 CRCBMHD_N 是否匹配
  3. 检查 Confirmation 状态
  4. 如果有效,根据 BMI.HWCFG 选择启动模式
  5. 如果无效,尝试下一个 BMHD
  6. 所有 8 个副本都无效 → 芯片进入安全模式(不可启动)

ORIG 与 COPY 的选择逻辑

ORIG ConfirmationCOPY Confirmation使用的配置源
UNLOCKEDUNLOCKEDORIG(默认)
CONFIRMEDUNLOCKEDORIG
UNLOCKEDCONFIRMEDCOPY
CONFIRMEDCONFIRMEDORIG
ERRORED任意有效COPY
任意有效ERROREDORIG
都 ERRORED都 ERRORED无效,尝试下一个 BMHD

3.7 ABM(Alternate Boot Mode)

当 HWCFG = 110B 时,STAD 不直接指向用户代码,而是指向一个 ABM Header(ABMHD)结构:

偏移字段名说明
0x00STADABM用户代码实际启动地址
0x04ABMHDID固定为 0xFA7CB359
0x08CHKSTART待校验内存范围起始地址
0x0CCHKEND待校验内存范围结束地址
0x10CRCRANGE内存范围的 CRC32
0x14CRCRANGE_NCRCRANGE 的按位取反
0x18CRCABMHDABM Header 的 CRC32
0x1CCRCABMHD_NCRCABMHD 的按位取反

ABM 的优势:UCB 位于 DFlash 中,频繁刷新容易损坏并锁定芯片;ABM Header 位于 PFlash 中,刷新更安全,且支持 Bootloader 跳转场景。

4. Boot ROM 启动流程

4.1 完整启动序列

[1] POWER_ON / RESET 发生 ↓ [2] 模拟电路启动,稳压器初始化 ↓ [3] Boot ROM 代码执行 ↓ [4] 判断复位类型 ├─ Cold POR:执行完整初始化 ├─ Warm Reset:执行部分初始化 └─ App Reset:恢复应用状态 ↓ [5] 采样 HWCFG[5:3] 引脚 ├─ 非零:使用硬件强制的启动模式 └─ 零:从 BMHD 读取启动模式 ↓ [6] 初始化闪存访问 ↓ [7] 循环读取 BMHD(按优先级) ├─ CRC 校验 + Confirmation 检查 └─ 全部失败 → 安全模式 ↓ [8] 执行 BMI 指定的初始化 ├─ LBIST(LBISTENA=1 时) ├─ 锁步核配置(LSENAx) └─ RAM 初始化 ↓ [9] 从 BMHD.STAD 跳转到用户代码 └─ PC = 0xA0000000 → _START

4.2 SSW 衔接

Boot ROM 成功验证 BMHD 后,跳转到 SSW(Startup Software)执行用户级初始化:

Boot ROM → 验证 BMHD → 跳转 STAD=0xA0000000 → _START (Ifx_Ssw_Tc0.c) → __StartUpSoftware → SSW Phase 1-6(时钟、看门狗、RAM、外设初始化) → __Core0_start → C 运行时初始化(BSS 清零、全局初始化) → core0_main()

4.3 HWCFG 引脚

TC334 的硬件配置引脚可在不修改 Flash 的情况下强制特定启动模式:

引脚功能备注
HWCFG[2:1]电压调节器选择启动早期被 Boot ROM 采样
HWCFG[5:3]备用启动模式非零时覆盖 BMHD 中的 ABM 设置

HWCFG[5:3] 允许通过硬件引脚强制进入 ISP 模式(例如强制固件升级),这在芯片因 BMHD 损坏无法正常启动时尤其有用。

5. 锁步(Lockstep)功能

5.1 技术概述

锁步(Lockstep)是一种硬件冗余技术,用于检测 CPU 核心中的单点故障。TC3xx 的每个 CPU 核心都可配置一个影子核心(Shadow Core),两个核心执行完全相同的指令,并通过比较器在每个时钟周期比较输出结果。

TC334 的 CPU 锁步配置:

  • CPU0:主核心,通过 BMI.LSENA0 控制锁步
  • CPU1:从核心,通过 BMI.LSENA1 控制锁步
  • CPU2:从核心,通过 BMI.LSENA2 控制锁步
  • CPU3:从核心,通过 BMI.LSENA3 控制锁步

5.2 工作原理

┌─────────────────────────────────────────────────────────┐ │ Lockstep Architecture │ ├──────────────────────────┬──────────────────────────────┤ │ │ │ │ ┌──────────────┐ │ ┌──────────────┐ │ │ │ Master │ │ │ Shadow │ │ │ │ Core │ │ │ Core │ │ │ │ (主核心) │ │ │ (影子核心) │ │ │ └──────┬───────┘ │ └──────┬───────┘ │ │ │ │ │ │ │ ▼ │ ▼ │ │ PC / IR / Data Bus │ PC / IR / Data Bus │ │ │ │ │ │ │ └───────┬───────┘──────────────┘ │ │ ▼ │ │ ┌──────────────────┐ │ │ │ Comparator │ │ │ │ (比较器) │ │ │ └────────┬─────────┘ │ │ ▼ │ │ ┌──────────────────┐ │ │ │ SMU Alarm │ ← 检测到差异时触发 │ │ │ (安全管理单元) │ │ │ └──────────────────┘ │ └─────────────────────────────────────────────────────────┘

工作流程:

  1. 主核心和影子核心接收相同的时钟和输入信号
  2. 两个核心独立执行完全相同的指令流
  3. 比较器在每个周期比较两个核心的输出(PC、数据总线、控制信号)
  4. 影子核心有固定的时钟延迟(如 2 个周期),可检测瞬态故障
  5. 如果检测到差异,触发 SMU(Safety Management Unit)报警

5.3 故障检测与处理

故障类型说明检测方式
单点故障CPU 内部硬件故障比较器检测到输出不一致
瞬态故障电磁干扰导致的临时错误延迟比较检测
共模故障两个核心同时发生相同故障需要额外的多样性设计

故障处理流程:比较器检测到不一致 → 触发 SMU 报警 → SMU 根据配置执行故障响应(触发 NMI、复位系统或切换安全状态)→ 软件记录故障信息并采取恢复措施。

5.4 性能影响

指标无锁步有锁步说明
CPU 性能100%~95-98%影子核心占用部分总线资源
功耗基准+20-30%影子核心的额外功耗
故障覆盖率可检测单点故障
安全等级ASIL-BASIL-D满足最高功能安全要求

5.5 适用场景建议

推荐启用锁步:安全关键应用(制动、转向系统)、需要 ISO 26262 ASIL-D 认证的系统、电磁环境恶劣的场合。

可考虑禁用锁步:功耗敏感应用、性能要求极高且安全要求较低的场景、成本敏感的非安全关键应用。

重要:锁步必须在启动时通过 BMHD 配置,不能在运行时动态切换。启用锁步后,影子核心对用户不可见,无法直接访问。

6. 配置示例

6.1 内部 Flash 启动(无锁步)

const Ifx_Ssw_Bmhd bmhd_0_orig = {
    .bmi          = 0x003E,         // PINDIS=0, HWCFG=111B(Internal Start),
                                    // LSENA0-3=0(无锁步), LBISTENA=0
    .bmhdid       = 0xB359,         // AURIX BMHD ID(固定值)
    .stad         = 0xA0000000,     // 用户代码入口(PFlash 起始,非缓存)
    .crc          = 0xD86CBDAB,     // CRC-32
    .crcInv       = 0x27934254,     // CRC 反码
    .reserved0    = { 0 },
    .pw           = { 0 },          // 无密码保护
    .reserved1    = { 0 },
    .confirmation = 0x43211234,     // UNLOCKED
};

6.2 内部 Flash 启动(启用全部锁步)

const Ifx_Ssw_Bmhd bmhd_0_orig = {
    .bmi          = 0x01FE,         // PINDIS=0, HWCFG=111B(Internal Start),
                                    // LSENA0-3=1(启用全部锁步),
                                    // LBISTENA=1(启用LBIST)
                                    // 二进制: 0000_0001_1111_1110
    .bmhdid       = 0xB359,
    .stad         = 0xA0000000,
    .crc          = 0xXXXXXXXX,     // 根据实际 BMI 值重新计算
    .crcInv       = 0xXXXXXXXX,
    .reserved0    = { 0 },
    .pw           = { 0 },
    .reserved1    = { 0 },
    .confirmation = 0x57B5327F,     // CONFIRMED(生产环境)
};

6.3 ABM 模式启动

// BMHD 配置 - STAD 指向 ABM Header
const Ifx_Ssw_Bmhd bmhd_0_orig = {
    .bmi          = 0x003C,         // HWCFG=110B (ABM Mode)
    .bmhdid       = 0xB359,
    .stad         = 0xA000FFE0,     // 指向 ABM Header 地址
    .crc          = 0xXXXXXXXX,     // 根据实际值计算
    .crcInv       = 0xXXXXXXXX,
    ...
};

// ABM Header 定义(位于 PFlash 中)
const Ifx_Ssw_Abmhd abmhd = {
    .stadabm      = 0xA0020000,     // 实际用户代码启动地址
    .abmhdid      = 0xFA7CB359,     // ABM Header ID(固定值)
    .chkstart     = 0xA0000000,     // 校验范围起始
    .chkend       = 0xA001FFFF,     // 校验范围结束
    .crcrange     = 0xXXXXXXXX,     // 范围 CRC
    .crcrange_n   = 0xXXXXXXXX,
    .crcabmhd     = 0xXXXXXXXX,     // Header CRC
    .crcabmhd_n   = 0xXXXXXXXX,
};

6.4 链接脚本段定义(Tasking)

/* 链接脚本中的 BMHD 段放置 (Lcf_Tasking_Tricore_Tc.lsl) */
group (ordered)
{
    group bmh_0_orig (run_addr=mem:ucb[0x0000])
    {
        select ".rodata.bmhd_0_orig";
    }
    group bmh_1_orig (run_addr=mem:ucb[0x0200])
    {
        select ".rodata.bmhd_1_orig";
    }
    group bmh_2_orig (run_addr=mem:ucb[0x0400])
    {
        select ".rodata.bmhd_2_orig";
    }
    group bmh_3_orig (run_addr=mem:ucb[0x0600])
    {
        select ".rodata.bmhd_3_orig";
    }
    group bmh_0_copy (run_addr=mem:ucb[0x1000])
    {
        select ".rodata.bmhd_0_copy";
    }
    /* ... bmh_1_copy ~ bmh_3_copy 类似 ... */
}

7. UCB 编程与更新

7.1 编程方式

方式 A:通过 C 代码编译(推荐)

Ifx_Cfg_SswBmhd.c 中定义 BMHD 数据,编译器将数据放入指定段,调试器/编程器自动识别段信息并写入 UCB 正确位置。

// 编译器段指令(多编译器兼容)
#if defined(__TASKING__)
#pragma section farrom "bmhd_0_orig"
#elif defined(__GNUC__) && !defined(__HIGHTEC__)
#pragma section ".bmhd_0_orig" a
#elif defined(__DCC__)
#pragma section CONST ".bmhd_0_orig" far-absolute R
#endif

方式 B:使用 Lauterbach TRACE32

; 解锁 UCB 区域
FLASH.REProgram 0xAF400000--0xAF4001FF TARGET

; 擦除 BMHD0_ORIG
FLASH.Erase 0xAF400000--0xAF4001FF

; 编程 BMHD0_ORIG
FLASH.Program 0xAF400000
Data.Set 0xAF400000 %LE %WORD 0x003E      ; BMI
Data.Set 0xAF400002 %LE %WORD 0xB359      ; BMHDID
Data.Set 0xAF400004 %LE %LONG 0xA0000000  ; STAD
Data.Set 0xAF400008 %LE %LONG 0xD86CBDAB  ; CRCBMHD
Data.Set 0xAF40000C %LE %LONG 0x27934254  ; CRCBMHD_N
; ... 填充保留区域为 0x00 ...
Data.Set 0xAF4001FC %LE %LONG 0x43211234  ; Confirmation (UNLOCKED)
FLASH.Program off

; 恢复保护
FLASH.REProgram 0xAF400000--0xAF4001FF NOP

方式 C:使用 ADS Flash Programmer

右键项目 → Program Devices,工具自动计算 CRC 并编程、验证。

7.2 编程限制

操作限制说明
读取任何时间无限制
编程需先擦除UCB 块级擦除(512 字节)
Flash 执行编程期间不可编程 Flash 时 CPU 不能执行 Flash 代码,需从 RAM 执行
ECC自动计算DFLASH/UCB 有 ECC 自动计算,不可手动修改
Confirmation最后写入必须作为最后一个字写入

8. 故障排查与恢复

8.1 常见问题

问题可能原因恢复难度解决方案
芯片无法启动所有 8 个 BMHD 副本无效非常难通过 HWCFG 引脚强制 ISP 模式重新编程
STAD 指向无效地址链接脚本配置错误难(需 ISP)调试器停止 CPU → 重新编程 UCB
CRC 校验失败CRC 计算错误其他副本可用则自动恢复;否则重新计算并编程
无法修改 UCBUCB 被密码锁定极难使用密码解锁或执行 ERASE_ALL
锁步不工作LSENAx 未设置检查 BMHD.BMI.LSENAx 位并重新配置
密码遗忘设置密码后未记录极难需完全擦除芯片(ERASE_ALL)

8.2 恢复方法(按优先级)

优先级 1:调试器恢复(推荐)

连接 JTAG/SWD 调试器 → 停止 CPU → 重新编程 UCB → 复位验证。

优先级 2:ISP 模式恢复

通过 HWCFG 引脚强制 ISP 模式 → 串口通信 → 重新编程 BMHD。

优先级 3:完全擦除(ERASE_ALL)

清除所有 Flash 包括 UCB → 重置为工厂默认 → 重新编程所有内容。

优先级 4:SAP(Service Access Port)

仅限 Infineon 内部或授权工程师使用,为最后手段。

8.3 调试技巧

  • 验证 BMHD 读取:在调试器中读取 0xAF400000 处的内存,确认数据正确
  • 设置断点:在 0xA0000000 设置硬件断点,确认 Boot ROM 成功跳转
  • HWCFG 状态检查:读取 SCU_PMSWSTAT 寄存器查看引脚采样状态
  • ELF 段检查:使用 objdump 提取 BMHD 段数据验证其完整性

8.4 配置建议

开发阶段:
Confirmation = 0x43211234 (UNLOCKED)Password = 0x00000000
便于反复修改和调试,不会因 UCB 配置错误锁定芯片。
生产阶段:
Confirmation = 0x57B5327F (CONFIRMED)Password = <强密码>
启用保护防止未授权修改。务必安全保管密码,遗忘密码将导致芯片需要完全擦除。

参考文档

  1. Infineon AURIX TC3xx User Manual Part 1 — 章节 3.1.1.6: Boot Mode evaluation sequence
  2. Infineon AURIX TC3xx Data Sheet — CPU 核心配置与锁步功能
  3. ISO 26262 功能安全标准 — 锁步技术满足 ASIL-D 要求
  4. iSYSTEM winIDEA 文档 — UCB 配置与编程指南
  5. Lauterbach TRACE32 文档 — Flash 编程命令参考

文档版本:2.0(整合版)

适用芯片:Infineon AURIX TC334 / TC3xx 系列

最后更新:2026-05-20