TDA4VM SBL启动过程简介

   Jacinto7架构的TDA4VM处理器专为L2+级别的集中式ADAS域控制器平台设计的,具有深度学习、视觉功能和多媒体加速器的双核 Arm® Cortex®-A72 SoC 和 C7x DSP。TI官网针对处理器SDK J721E提供了两种Bootloader:RTOS Bootloader(SBL),Linux BootLoader(SPL),为了更加快速的启动,会优先选择SBL启动方式。

一、SBL启动流程简介

​   辅助引导加载程序,Secondary Bootloader (SBL)用于设置PLL时钟,上电I/O外设,初始化DDR,加载应用程序镜像到DDR中并且复位适用SOC的从核。更多内容详见官网。详细拓展详见官网

​   有如下四种启动介质:

​   MMCSD bootloader需要借助于包含引导加载程序和应用程序镜像的SD卡,去启动目标文件。当电路板被供电时,ROM bootloader来检测MMCSD bootloader镜像,并将其加载到内存中。Bootloader初始化板载,从SD卡中复制应用程序镜像到DDR内存中,并将控制权交给应用程序。

​   eMMC bootloader需要借助于包含引导加载程序和应用程序镜像的eMMC,去启动目标文件。eMMC有3个部分组成,UDA(用户区),boot0 和 boot1分区,你可以将SBL镜像文件拷贝到boot0 或者 UDA分区。当电路板被供电时,ROM bootloader来检测eMMC bootloader镜像,并将其加载到内存中。Bootloader初始化板载,从eMMC中复制应用程序镜像到DDR内存中,并将控制权交给应用程序。

​   与OSPI交互的闪存设备使用OSPI引导加载程序和应用程序镜像进行启动。当电路板被供电时,ROM bootloader从闪存设备中检测bootloader镜像,并将其加载到内存中。Bootloader初始化板载,从OSPI设备中复制应用程序镜像到DDR内存中,并将控制权交给应用程序。

​   串行接口被用于将引导加载程序的二进制文件从PC传输到目标板载中,其遵循XMODEM协议。执行中的引导加载程序提示应用程序通过XMODEM来传输。在提供路径后,应用程序的二进制文件将通过串行接口传输到DDR内存中,并将控制权交给应用程序。

1、Power on Reset

2、ROM Bootloader(RBL)

  • 在Jacinto ROM内存中开始执行预编程软件;
  • RBL进行平台配置及初始化;
  • 检查sysboot引脚,并选择启动设备;
  • RBL为R5核配置PLL时钟和启动介质,如eMMC, SD/MMC, OSPI, UART, PCIe, Ethernet…
  • 当前启动介质上如果未检测到有效的BootLoader,会根据引脚配置,去检查下一个启动介质;
  • RBL获取镜像文件的大小,并根据X.509证书去加载地址,X.509证书也是Bootloader镜像文件的一部分;
  • RBL将会对验证,解密(可选择)并加载二进制文件到内存中,其加载地址由X.509证书指定;
  • 最终,RBL将会复位R5核,并将控制权交给SBL,由其运行SBL程序。

3、Secondary BootLoader

  • 用户级SBL从内存中开始执行。它使能ATCM,开始PMU计数,初始化MCU,设置堆栈和全局变量。接着,跳转到SBL程序的 main() 函数;
  • 板载设备的初始化由Board_init()接口函数完成,如安装RAT, Pin MUX 和 UART控制台,详情需要查看官网文档;
  • SYSFW或者TIFS将会被从启动介质中加载到DMSC子系统中;
  • 一旦系统固件(SYSFW or TIFS)运行,其他的初始化即可以完成;
  • 这就包含了可选项,利用Board_init() 函数去配置PLLS,LPSCS和DDR;
  • SBL程序将会从启动介质中加载应用程序。如果应用程序的镜像文件被签名(涉及HSM相关概念),应用程序将会被拷贝到用户保留的内存中,SBL将会去调用系统固件的程序接口去验证镜像文件。在High Security设备中,只有当镜像验证通过时,SBL才会继续运行。
  • SBL从启动介质中为每个核去解析应用程序镜像,并将其拆分加载到内存中;
  • 一旦应用程序加载,SBL将会与系统固件进行通讯,以为各核设置时钟,并将各核去复位。
  • 各核将会从应用程序的入口地址(entry point)开始执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值