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

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

3天内不再提示

一起学习TC3xx芯片的UCB文件

832065824 来源:汽车电子嵌入式 2023-06-13 09:05 次阅读

前言

刚开始使用TC3xx芯片的时候,程序烧录进去后起不来,一番咨询后是因为没有配置UCB导致的,然后刷了一个其他平台项目的UCB文件后,程序正常起来了。本着刨根问底的态度,今天就来一起学习TC3xx芯片的UCB。因为UCB的配置内容非常的多,本文以UCB中BMHD的配置为例详细介绍通过UCB来配置符合用户需求的BMHD,其他UCB的具体内容的配置及分析思路可以参考本文。

正文

1.UCB的定义及其功能简介

UCB是User Configuration Block的简称。TC3xx芯片提供了一块23KB的Flash存储空间用作UCB配置。每个UCB大小为512 Byte,总共有46个UCB配置项,UCB的起始地址为0xAF400000,结束地址为0xAF405FFF

9acdc012-0980-11ee-962d-dac502259ad0.png

TC3xx芯片在启动时会运行固化在芯片内部的名为SSW的软件,SSW软件在运行时可以读取用户的配置信息来进行特定化的启动操作,比如SSW运行完后跳转到客户应用程序的起始地址,RAM是否需要进行初始化及冷启动还是热启动后初始化等,是否需要进行LBIST操作等。而这些可以让用户自定义的配置就是UCB的配置内容。

也就是说,用户可以通过配置UCB来影响SSW程序的执行(比如跳转的APP的起始地址),及完成芯片的特殊配置(比如使能HSM等)

9afd9d0a-0980-11ee-962d-dac502259ad0.png

2.UCB_BMHD0_ORIN/COPY功能详细分析

UCB的配置内容很多,这里详细介绍UCB_BMHD0_ORIN和UCB_BMHD0_COPY,起到抛砖引玉的作用,在分析其他UCB的时候可以参考。

UCB_BMHD0_ORIN和UCB_BMHD0_COPY用来配置Boot Mode Headers (BMHD),SSW程序在启动时会读取UCB_BMHD0_ORIN和UCB_BMHD0_COPY配置信息进行评估,然后执行对应的操作。UCB_BMHD0_ORIN和UCB_BMHD0_COPY的配置项目如下图所示。

9b0b013e-0980-11ee-962d-dac502259ad0.png

2.1 BMI_BMHD

BMI配置如下图所示,BMI可以配置:

PINDIS: 是否可以通过HWCFG pins外部配置Start-up mode

HWCFG:程序的Start-up mode选择,比如配置为111B则SSW介绍后直接跳转到Checker Software

LSENAx: 配置是否使能CPUx的Lockstep monitoring

LBISTENA: 配置是否在SSW执行LBIST

CHSWENA:配置SSW程序结束后是否执行CHSW

9b627f04-0980-11ee-962d-dac502259ad0.png

9bbf27ea-0980-11ee-962d-dac502259ad0.png

BMHDID:固定为0xB359H

2.2 STAD

STAD: 如果是ABM启动,则为Alternate Boot Mode Header的起始地址;如果为Internal 启动,则为用户程序的起始地址

2.3 CRCBMHD

CRCBMHD: 是BMI+ BMHDID +STAD值的CRC32校验值

CRCBMHD_N:是BMI+ BMHDID +STAD反向值的CRC32校验值

2.4 Password

PW0-PW7: 给UCB_BMHD0_ORIN和UCB_BMHD0_COPY安装(Install)密码(Password),如果我们在运行时想要修改UCB_BMHD0_ORIN和UCB_BMHD0_COPY的内容,需要通过Disable Protection指令传入Password进行match后才能修改

9bd87556-0980-11ee-962d-dac502259ad0.png

9c098a74-0980-11ee-962d-dac502259ad0.png

例如:执行

ST553CH, 0x00

ST.W 553CH, PW0

ST.W 553CH, PW1

ST.W 553CH, PW2

ST.W 553CH, PW3

ST.W 553CH, PW4

ST.W 553CH, PW5

ST.W 553CH, PW6

ST.W 553CH, PW7

就能Disable UCB_BMHD0_ORIN和UCB_BMHD0_COPY的写保护。

9c3e2176-0980-11ee-962d-dac502259ad0.png

2.5 Confirmation

往Confirmation位域中写入特定的值就能让Confirmation处于:UNLOCKED, CONFIRMATION,ERASED,ERRORED四种状态之一。

9c4d0632-0980-11ee-962d-dac502259ad0.png

然后,UCB_BMHD0_ORIN和UCB_BMHD0_COPY中的Confirmation的状态组合,就能决定SSW使用ORIN还是COPY中的配置数据

9c7fb96a-0980-11ee-962d-dac502259ad0.png

3.UCB在项目中的使用

请关注本公众号的后续文章。

4. 总结

. 通过配置UCB可以指导SSW程序的执行及系统的相关配置

. UCB_BMHD_ORIN/COPY主要配置程序的启动模式,SSW程序结束后的跳转地址,是否开启锁步核及以及是否在SSW中执行LBIST

. 读者可以参照本文的分析思路来分析其他UCB_HSMCFG, UCB_PFLASH_ORIN/COPY等的配置选项





审核编辑:刘清

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

    关注

    0

    文章

    3

    浏览量

    7281
  • CRC32
    +关注

    关注

    0

    文章

    8

    浏览量

    8127
  • Flash存储
    +关注

    关注

    0

    文章

    38

    浏览量

    8235

原文标题:TC3xx芯片的UCB详解

文章出处:【微信号:汽车电子嵌入式,微信公众号:汽车电子嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    TC3xx的HSM中有没有单调计数器?

    你好, 我看到 OPTIGA 有单调计数器,但我在 TC3xx 的 HSM 中确实找不到单调计数器。 能否确认TC3xx的HSM中没有单调计数器?
    发表于 03-05 07:56

    GCC和TASKING有什么区别?应该为AURIX™ TC3xx选择什么?

    GCC 和 TASKING 有什么区别? 我应该为 AURIX™ TC3xx 选择什么? 这将如何影响代码的运行?
    发表于 03-01 10:09

    TC3xx系列是否支持RTC功能?

    请教各位,TC3xx系列芯片是否支持RTC功能,目前要记录snapshot的时间点(年月日时分秒)。
    发表于 02-02 07:53

    TC3xx系列怎么禁用trap?

    目前在TC3xx调试flash读写功能,单独运行flash相关功能没有问题,但将flash相关功能集成到工程中。操作pflash就会进入trap中,查看了些帖子说是要禁掉trap?请问怎么禁用trap?目前没找到相关函数
    发表于 01-31 06:21

    SWAP是否适用于两个用于TC3xx系列控制器的独立软件?

    目前正在使用 Swap/Partitions 概念实现 SOTA(TC3xx 系列)。 检查为应用程序和引导加载程序实施 SOTA 的可行性。 1。对于两个独立的软件,SOTA是否可行? 2。如果是
    发表于 01-30 07:56

    TC3XX寄存器读写时间过长怎么解决?

    我目前在做TC3XX底层代码优化,经过之前多次测试目前可以确定该系列芯片对单个寄存器地址的读写耗时超过100us。请问对于寄存器读写耗时你们官方有没有确切的文件说明?还有就是既然寄存器读写时间那么长100M的外设总线时钟是否有意
    发表于 01-25 06:56

    Pflash恢复保护命令最终会在Aurix TC3xx控制器上重置目标是为什么?

    我正在连接 T32 调试器的 Aurix TC3xx 控制器评估板上测试 Pflash 读/写保护机制,我配置了 UCB_pFlash 和 UCB 调试,我成功解锁了 Pflash 保护,然后尝试再次锁定保护,最终进入目标重置。
    发表于 01-24 06:42

    TC3xx SCR功耗应该怎么评估?

    TC3xx SCR处于70kHz active状态,以及CAN WAKE UP也处于active,Tricore都掉电了,这个时候功耗是多少呢?SCR中不同的组件激活状态下,功耗应该怎么评估,有没有
    发表于 01-19 08:28

    AURIX™ TC3XX如何暂时仅启用/禁用CAN中断?

    你我使用的是 AURIX™ TC3XX。 在 CAN ISR 处理期间,如何暂时仅启用/禁用 CAN 中断?
    发表于 01-18 06:47

    TC3xx芯片的Endinit功能详解

    上锁Endinit。那什么是Endinit功能了? -- 本文就来详细解锁TC3xx芯片的Endinit机制。
    的头像 发表于 11-27 09:23 818次阅读
    <b class='flag-5'>TC3xx</b><b class='flag-5'>芯片</b>的Endinit功能详解

    TC3xx芯片的MPU功能详解

    在前面的文章文章中我们介绍了RH850-U2A的内存保护单元(MPU),了解了MPU的概念以及在RH850-U2A上的具体使用流程,但是对于TC3xx系列芯片的的MPU功能不甚了解。本文就来详细介绍下
    的头像 发表于 09-19 11:42 1015次阅读
    <b class='flag-5'>TC3xx</b><b class='flag-5'>芯片</b>的MPU功能详解

    英飞凌TC3XX系列多核MCU学习笔记(3)

    TC3XX 系列属于AURIX™ 2G系列,AURIX™ 2G系列系列单片机采用的是TC1.6.E和TC1.6P的核心组合。使用的是32位哈弗架构,将程序指令存储和数据存储分开。
    发表于 09-19 10:00 964次阅读
    英飞凌<b class='flag-5'>TC3XX</b>系列多核MCU<b class='flag-5'>学习</b>笔记(3)

    英飞凌TC3XX系列多核MCU学习笔记(1)

    声明:本文是在学习英飞凌 TC3XX系列多核 MCU 过程中整理的笔记,便于后期复习!
    发表于 09-19 09:54 1269次阅读
    英飞凌<b class='flag-5'>TC3XX</b>系列多核MCU<b class='flag-5'>学习</b>笔记(1)

    TC3xx芯片DMU介绍

    AUTOSAR架构图下的Fls模块对上(Fee)模块提供统一的标准接口,但是具体的实现因不同的芯片而不一样,Infineon公司的Fls模块通过操作TC3xx芯片的DMU模块实现Fls的功能。在具体
    的头像 发表于 08-31 14:10 867次阅读
    <b class='flag-5'>TC3xx</b><b class='flag-5'>芯片</b>DMU介绍

    AURIX™ TC3xx NVM是非易失性存储器学习笔记

    TC3xx芯片最多有6个内核,每个核有自己的私有的Memory以及共有的Memory。
    发表于 06-19 09:09 3373次阅读
    AURIX™ <b class='flag-5'>TC3xx</b> NVM是非易失性存储器<b class='flag-5'>学习</b>笔记