TC3xx芯片的UCB详解
2023-6-18 18:5:14 Author: 谈思实验室(查看原文) 阅读量:68 收藏

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

前言

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

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

2.UCB_BMHDx_ORIN/COPY功能详细分析

3.UCB在项目中的使用

缩略词

简写

全称

UCB

User Configuration Block

SSW

Startup Software

BMHD

Boot Mode Headers

CHSW

Check Software

正文

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

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

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

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

2.UCB_BMHD0_ORIN/COPY功能详细分析

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

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

2.1 BMI_BMHD

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

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

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

LSENAx: 配置是否使能CPUxLockstep monitoring

LBISTENA: 配置是否在SSW执行LBIST

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

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_ORINUCB_BMHD0_COPY安装(Install)密码(Password),如果我们在运行时想要修改UCB_BMHD0_ORINUCB_BMHD0_COPY的内容,需要通过Disable Protection指令传入Password进行match后才能修改

例如:执行

ST 553CH, 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_ORINUCB_BMHD0_COPY的写保护。

2.5 Confirmation

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

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

3. 总结

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

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

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

更多文章

智能网联汽车信息安全综述

软件如何「吞噬」汽车?

汽车信息安全 TARA 分析方法实例简介

汽车FOTA信息安全规范及方法研究

联合国WP.29车辆网络安全法规正式发布

滴滴下架,我却看到数据安全的曙光

从特斯拉被约谈到车辆远程升级(OTA)技术的合规

如何通过CAN破解汽

会员权益: (点击可进入)谈思实验室VIP会员

END

微信入群

谈思实验室专注智能汽车信息安全、预期功能安全、自动驾驶、以太网等汽车创新技术,为汽车行业提供最优质的学习交流服务,并依托强大的产业及专家资源,致力于打造汽车产业一流高效的商务平台。

每年谈思实验室举办数十场线上线下品牌活动,拥有数十个智能汽车创新技术的精品专题社群,覆盖BMW、Daimler、PSA、Audi、Volvo、Nissan、广汽、一汽、上汽、蔚来等近百家国内国际领先的汽车厂商专家,已经服务上万名智能汽车行业上下游产业链从业者。专属社群有:信息安全功能安全自动驾驶TARA渗透测试SOTIFWP.29以太网物联网安全等,现专题社群仍然开放,入满即止。

扫描二维码添加微信,根据提示,可以进入有意向的专题交流群,享受最新资讯及与业内专家互动机会。

谈思实验室,为汽车科技赋能,推动产业创新发展!


文章来源: http://mp.weixin.qq.com/s?__biz=MzIzOTc2OTAxMg==&mid=2247523175&idx=1&sn=d2362b5e79bfaf75236272dcb0c9cf06&chksm=e927dfbcde5056aa5891d35dadb01e1b6a0de247c35503293a8e63a1a38bdf428374e733cc5f#rd
如有侵权请联系:admin#unsafe.sh