一文搞懂自动驾驶芯片TDA4 启动流程

TDA4是一款高性能的多核SoC,常用于ADAS系统,其启动流程包括DMSCROM、MCU域R5ROM和SBL阶段。DMSCROM配置系统,MCU域R5ROM初始化外设,SBL加载系统固件并准备各核启动。文章详细阐述了这一过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TDA4架构简介

TDA4是德州仪器推出的一款高性能、超异构的多核SoC,拥有ARM Cortex-R5F、ARM Cortex-A72、C66以及C71内核,可以部署AUTOSAR CP系统、HLOS(Linux或QNX)、图像处理以及深度学习等功能模块,从而满足ADAS对实时性、高运算能力、环境感知及深度学习等方面的需求。

TDA4凭借着出色的运算能力、有竞争性的价格,赢得了越来越多汽车主机厂以及零部件供应商的青睐。对于ADAS行业的从业人员或者对ADAS领域感兴趣的人都有必要来了解一下TDA4这颗芯片。

TDA4的架构如下图,可以分为MAIN域、MCU域和WKUP域(DMSC)。

MAIN域集成了2个A72核,4个R5F核,2个C66核和1个C71核。环境感知(图像感知和超声感知),传感器融合(图像和超声信号融合),智能驾驶算法(路径规划),深度学习等会部署到MAIN域,也就是智能驾驶的主要功能逻辑会部署到MAIN域。

在这里插入图片描述

TDA4启动流程

像这种多核异构SoC,启动过程相比MCU来说都比较复杂。SoC的成功启动是之后正常处理各种智能驾驶功能的基础,下面就来介绍一下TDA4的具体启动流程。

在这里插入图片描述

上图中的1和2是上电和上电复位(Power On Reset),3是启动之前SoC内部会做一个硬件电路自测(Built-in Self-Test)。4是DMSC内部的ROM程序,这部分程序对开发者不可见,是出厂时就固化在芯片内部的。

DMSC ROM阶段

DMSC ROM是上电后最先运行的程序,它的主要作用如下图紫色部分所示。配置看门狗、PLL时钟,基于启动模式配置防火墙,配置MCU安全代理、环形加速器,发送消息给MCU域的R5核告知其启动模式。最后释放MCU域R5核的Reset,此后MCU域R5核开始启动。

在这里插入图片描述

MCU域R5 ROM阶段

MCU域R5核启动之后运行的是R5核的ROM,也是固化在芯片内部的一段程序。下图的黄色部分显示了R5 ROM所做的事情,首先判断是否只启动MCU,由于我们需要启动MAIN域的A核、R5核及DSP核,所以MCU-only Boot的选择是No。

MCU域R5核会完成一些基础的引导工作,然后从启动模式PIN(SoC用来设置启动模式的PIN脚)获取启动模式(可以从OSPI, EMMC, UART等启动)。接下来MCU域R5核ROM会配置PLL以及初始化用来启动的外设(比如OSPI Flash,EMMC等),初始化之后才能从这些外部存储器中读取各个核的image。

之后MCU域R5核ROM会从OSPI Flash中读取SBL的image文件并load到RAM中,然后请求DMSC的ROM去校验SBL image的完整性。如果校验通过,DMSC会重启MCU域R5核,此时MCU域R5核开始执行SBL程序。

在这里插入图片描述

SBL阶段

下图是SBL的执行过程以及与DMSC的交互。

SBL首先会加载DMSC的firmware,这个firmware是DMSC最终会执行的程序,它主要提供一些SCI的服务给MCU域和主域,这些服务主要包含PM(Power Management),RM(Resource Management)及Security(cyber security)。PM主要是用来控制一些设备的ON/OFF,RM用来请求外设资源,Security用来实现secure boot以及信息安全等。

SBL加载DMSC的firmware到RAM后会通知DMSC ROM去校验firmware的完整性,校验通过后DMSC就会开始执行它的firmware,并提供服务(PM,RM,Security)给其他核。然后SBL会load一些配置数据到RAM,然后通过SCI Message发给DMSC供DMSC使用。

最后SBL会配置DDR,然后加载MAIN域R5核的image和MAIN域A72、R5、DSP的image到DDR。一般会在MCU域的R5核上部署CP AUTOSAR,MAIN域的R5核上部署以太网Switch的firmware以及超声波雷达的USS驱动等。MAIN域的A72核上一般会用来部署Linux或QNX等操作系统,它们的启动需要ATF/Uboot等引导程序,因此需要加载引导程序的image和Linux内核或QNX内核的image。

加载各个核的image到DDR后,SBL会请求DMSC释放MCU域R5核以及MAIN域各个核的reset line,之后MCU域及MAIN域的各个核即开始执行各自的软件,整个系统就启动完成了。

在这里插入图片描述

文中缩略词解释

• DMSC – Device Management. & Security Controller:
– Controller that runs the first set of instructions on any Jacinto 7 family device
– Executes the DMSC ROM code after reset
• MCU R5 – Boot Controller:
– Cortex-R5F core in the MCU island that controls the rest of the boot flow of the device, after it has been released from reset by the DMSC.
– Executes the MCU R5 ROM code after reset
• R5 SPL or SBL – Secondary bootloader:
– Code loaded by MCU R5, via the selected boot method, and authenticated by the DMSC.
– MCU R5 runs this code after the ROM execution to start the flow for booting all the other cores on the device.
• SYSFW – System Firmware (for DMSC):
– DMSC “steady-state” firmware loaded by the MCU R5 and imported & authenticated by the DMSC.
After the SYSFW image has been verified, the DMSC starts executing it.
• SCI - System Control Interface:
– Interfaces through which other cores request RM, PM and Security ralated services to DMSC.

TDA4VM芯片是德州仪器(TI)公司推出的一款专门用于汽车应用的多核处理器芯片TDA4VM芯片集成了多个处理核心,包括C66x浮点DSP核心、Arm Cortex-A72多核处理器和ASIL D级别的锁存器雕刻逻辑(SIL)核心。同时,芯片还内置了图像信号处理器(ISP)、媒体处理器(MPU)和安全子系统,以满足汽车应用的高性能和安全要求。 TDA4VM芯片采用了28纳米工艺制造,配备了丰富的外设接口,包括以太网接口、CAN接口、PCI Express接口、USB接口等,可满足汽车中各种通信和连接需求。此外,芯片还支持高速DDR4内存和LPDDR4内存,以提供高带宽和低功耗的存储解决方案。 TDA4VM芯片以其出色的计算和图像处理能力而闻名。它提供了多核处理器的并行能力,能够同时处理各种复杂的算法和任务,如高级驾驶辅助系统(ADAS)、自动驾驶系统和智能汽车中的人机交互。此外,芯片的图像处理器提供了强大的图像处理和视觉识别能力,支持多个高分辨率相机的输入和实时处理,以实现车辆感知和场景理解。 TDA4VM芯片还具备高度的安全性能。它内置了安全子系统,支持硬件加密和解密功能,以保护关键数据不被未授权的访问者获取。此外,芯片还提供了防火墙和完整性检查等安全功能,以保障整个系统的安全性和可靠性。 总之,TDA4VM芯片是一款专为汽车应用而设计的高性能、多核处理器芯片。它具备强大的计算和图像处理能力,同时保证了系统的高度安全性。作为汽车电子领域的新一代解决方案,TDA4VM芯片将为智能汽车的发展提供有力的支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值