Aurix2G TC3xx UCB(启动部分)

1、On Chip Bus Address Map of UCB

In TC3xx platform, UCB address is constant. Tables are below :





2、UCB_BMHDx_ORIG & UCB_BMHDx_COPY(x = 0-3)

2.1 x = 0



其中,BMI如下图,包含了模式选择引脚是否使能、启动区域、锁步核使能及SSW后的校验使能





对于启动地址没什么好讲的,这里重点提下CRC和CRC_N,举个例子方便理解,你现在定了BMI是0xFE,再加上固定格式的Header(0xB359),假定启动地址为0x

AURIXTC3xx 微控制器的 User Configuration Block (UCB) 是用于存储用户特定配置信息的一个 Flash 区域。这些配置包括但不限于时钟设置、外设初始化参数、启动配置等。UCB 的配置通常在系统初始化早期阶段被读取并应用,因此正确设置 UCB 对于系统的稳定运行至关重要。 在 TC3xx 系列微控制器中,UCB 通常位于 Flash 的特定地址范围内,例如 UCB0、UCB1 等,每个 UCB 块具有特定的用途。例如,UCB0 可能用于存储系统时钟配置,而 UCB1 可能用于存储调试接口配置等。 配置 UCB 的基本步骤包括: 1. **确定配置内容**:根据系统需求,确定需要写入 UCB 的参数,如系统时钟频率、外设使能状态、复位配置等。 2. **生成 UCB 数据**:使用工具链(如 Lauterbach、Infineon 的配置工具或自定义脚本)生成符合 UCB 格式的二进制数据。 3. **编程 UCB 区域**:通过 Flash 编程工具或 Bootloader 将生成的 UCB 数据写入 Flash 的指定地址区域。需要注意的是,在写入过程中应确保数据完整性,避免因中断或错误写入导致系统无法启动 [^1]。 4. **验证配置**:在系统启动后,通过读取 UCB 内容并与预期值对比,验证配置是否正确应用。 以下是一个简化的 UCB 配置示例(以 C 语言结构体表示): ```c typedef struct { uint32_t systemClock; // 系统时钟频率(单位:Hz) uint32_t peripheralEn; // 外设使能位掩码 uint32_t debugConfig; // 调试接口配置 uint32_t reserved[5]; // 保留字段 } UCB_ConfigType; UCB_ConfigType ucb0Config __attribute__((section(".ucb0_section"))) = { .systemClock = 200000000UL, .peripheralEn = (1UL << 8), // 使能特定外设 .debugConfig = 0x00000001UL }; ``` 在实际开发中,应参考 Infineon 提供的官方文档(如 TC3xx 系列的用户手册和 Flash 编程指南)进行详细配置,并确保遵循 Flash 编程规范(如对齐要求、擦写次数限制等) [^1]。 此外,TC3xx 支持多种启动源(如 Flash、ROM、外设 Bootloader),UCB 的配置也应与启动模式相匹配,以确保系统能够正确识别并应用配置 [^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

您猜我猜不猜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值