您的位置:首页 > 房产 > 家装 > 重庆seo小潘大神_学生个人网站模板_今日头条十大热点_百度投放

重庆seo小潘大神_学生个人网站模板_今日头条十大热点_百度投放

2025/4/6 17:58:53 来源:https://blog.csdn.net/qq_41908302/article/details/147016938  浏览:    关键词:重庆seo小潘大神_学生个人网站模板_今日头条十大热点_百度投放
重庆seo小潘大神_学生个人网站模板_今日头条十大热点_百度投放

文章目录

  • 前言
  • 一、UCB的定义及其功能简介
  • 二、UCB_BMHDx_ORIG and UCB_BMHDx_COPY (x = 0 - 3)
    • 2.1 BMHD(Boot Mode Head)
  • 三、UCB_SSW
  • 四、UCB_PFLASH_ORIG and UCB_PFLASH_COPY
    • 4.1 Password
    • 4.2 UCB Confirmation


前言

缩写全称
UCBUser Configuration Block
BMHDBoot Mode Headers

通过UDE界面找到UCBs
ude
UCB_DBG
如果要解除保护,则可以点击”Erase configuration ” (仅支持在 Unlocked 状态下擦除)


一、UCB的定义及其功能简介

UCB是User Configuration Block的简称,用于描述用户配置信息,非数据存储区域。
TC3xx芯片提供了一块23 KB的Flash存储空间用作UCB配置。每个UCB大小为512 Byte,总共有46个UCB配置项,UCB的起始地址为0xAF400000,结束地址为0xAF405FFF。
UCB
下面的概览表显示了所有定义的ucb的列表:
list1
list2
TC3xx芯片在启动时会运行固化在芯片内部的名为SSW的软件,SSW软件在运行时可以读取用户的配置信息来进行特定化的启动操作,比如SSW运行完后跳转到客户应用程序的起始地址,RAM是否需要进行初始化及冷启动还是热启动后初始化等,是否需要进行LBIST操作等。而这些可以让用户自定义的配置就是UCB的配置内容。
也就是说,用户可以通过配置UCB来影响SSW程序的执行(比如跳转的APP的起始地址),及完成芯片的特殊配置(比如使能HSM等)。

二、UCB_BMHDx_ORIG and UCB_BMHDx_COPY (x = 0 - 3)

四个UCB_BMHDx_ORIG(UCB00, UCB01, UCB02, UCB03)和UCB_BMHDx_COPY(UCB08, UCB09, UCB10, UCB11)被客户用来配置启动模式头(BMHD)。这些由SSW进行评估(SSW程序在启动时会读取UCB_BMHDx_ORIN和UCB_BMHDx_COPY配置信息进行评估,然后执行对应的操作)。
在下文中,仅展示了UCB00和UCB01的详细偏移量表。UCB00作为带有密码的UCB_BMHD的示例(也是UCB08),而UCB01作为不带密码的UCB_BMHD的示例(也是UCB02, UCB03, UCB09, UCB10, UCB11)进行展示。其他UCB的内容相同,只是基于不同的偏移地址。
217

2.1 BMHD(Boot Mode Head)

Boot Mode Header 是固化在代码中的启动信息。包含了启动地址, 具体的信息有以下部分组成

unsigned short bmi;             /**< \brief 0x000: Boot Mode Index (BMI)*/
unsigned short bmhdid;          /**< \brief 0x002: Boot Mode Header ID (CODE) = B359H*/
unsigned int   stad;            /**< \brief 0x004: User Code start address*/
unsigned int   crc;             /**< \brief 0x008: Check Result for the BMI Header (offset 000H - 007H)*/
unsigned int   crcInv;          /**< \brief 0x00C: Inverted Check Result for the BMI Header (offset 000H - 007H)*/
unsigned int   reserved0[60];   /**< \brief 0x010: Reserved area (60 words) till the offset 0x100*/
unsigned int   pw[8];           /**< \brief 0x100: Password protection (8 words) till the offset 0x120 */
unsigned int   reserved1[52];   /**< \brief 0x120: Reserved area (52 words) till the offset 0x1F0*/
unsigned int   confirmation;    /**< \brief 0x1F0: 32-bit CODE, (always same)*/

三、UCB_SSW

UCB_SSW 包含由英飞凌提供的数据,并主要用于SSW配置设备。
单个条目除了LBIST配置和预期签名条目SCU_LBISTCTRL*之外,不会被发布。
这些也可以在执行LBIST时由应用程序软件使用。
UCB_SSW

四、UCB_PFLASH_ORIG and UCB_PFLASH_COPY

UCB_PFLASH(原始和副本)包含了用户定义的PFlash保护。它通过密码PW0至PW7进行保护。保护配置被转移到寄存器DMU_HP_PROCONPps(其中“p”遍历已实现的PFlash存储库,“s”遍历32个扇区的组)和DMU_HF_PROCONPF(参见DMU章节)。
221

4.1 Password

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

4.2 UCB Confirmation

往Confirmation位域中写入特定的值就能让Confirmation处于:UNLOCKED, CONFIRMATION,ERASED,ERRORED四种状态之一。
在 UNLOCK 状态时,UCB可以重复擦写,当 CONFIRMED 状态时(相当于写保护),只有输入正确的密码,用”Disable Protection”命令对 UCB 临时解密,才能再操作 UCB。
在量产的程序中,必须改为 CONFIRMED 状态,因为在 UNLOCK 状态下,UCB 的Password 部分是可以读出来的(在调试器连接不上情况下,也还是可以通过 ASCBootloader 读出来)。

在使能了调试保护后,当 UCB_DBG 的 CONFIRMATION 改为 CONFIRMED 后,只要知道调试密码,依然还是可以调试。

在使能了调试保护后,当 UCB_HSM 的 CONFIRMATION 改为 CONFIRMED 后,那么HSM 的代码就永远不能调试了,除非在 HSM 的代码中加入一段后门代码,例如检测到一个信号或者命令后,把 UCB 中的调试保护解除。UCB_HSM 被 CONFIRMED 后,只有 HSM代码才能操作这块 UCB。

195


参考文档:Infineon-AURIX_TC3xx_Part1-UserManual-v02_00-EN

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com