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

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

3天内不再提示

TDA4 SPL SBL启动流程简析

汽车ECU开发 来源:汽车ECU开发 2023-10-24 16:37 次阅读

TDA4是TI推出的一款高性能、超异构的多核SoC,拥有ARM Cortex-R5F、ARM Cortex-A72、C66以及C71内核,可以部署AUTOSAR CP系统、HLOS(Linux或QNX)、图像处理以及深度学习等功能模块,从硬件架构来看可以分为MAIN域、MCU域和WKUP域(DMSC)。

MAIN域包括2个A72核,4个R5F核,2个C66核和1个C71核,环境感知,传感器融合,智能驾驶算法,深度学习等会部署到MAIN域,也就是智能驾驶的主要功能逻辑会部署到MCU域。

989f7f5e-7246-11ee-939d-92fbcf53809c.png

从一个Soc的初始化流程来看,前两步是面向硬件的,但具体流程也与设备的系统配置(Boot Mode)管脚的设置有关。具体的初始化流程如下:

98ab2052-7246-11ee-939d-92fbcf53809c.png

Pre-initialization:电源时钟、一些控制连接和启动配置管脚必须保持在所需的逻辑电平;

Power,clock,reset ramp sequence:根据电源管理芯片PMIC)指定的时序(Soc 启动时序)配置Power、Clock、Reset ramp Sequence;

ROM Code:两个ROM Code同时执行(DMSC ROM & MCU R5 ROM),从指定存储空间寻找、下载、执行外部第一个程序(SPL/SBL);

Initial software(SPL or SBL):加载、准备并将控制权传递给应用程序软件或高级操作系统(HLOS)的软件; High Level OperatingSystem(HLOS) or App:在主处理器运行操作系统或软件应用。 Jacinto7Soc属于多核处理器拥有Cortex A72、C66x、C7x、Main Cortex R5F、MCU R5F等。

通常A72上运行HLOS(Linux/QNX),其余核运行RTOS,MCU可以支持AUTOSAR。除了MCU R5F是启动控制器,会首先启动并控制启动的流程。其余各个核的Power和Reset都可以独立控制。依据应用的不同需求可以灵活调整各个核的启动顺序,且当前Jacinto7支持SPL和SBL两种不同的bootloader。

SBL启动流程

SBL(Secondary bootloader)是TI写的非常精简的Bootloader,可以实现对外围设备进行配置,比如DDR,可以加载并启动其它核。为了满足快速启动MCU执行相关的应用,MCU可以先启动,然后使用BOOT APP进而引导其它应用程序。在SBL启动流程中,SBL可以直接加载Linux内核和DTB。其流程如下图所示:

98b77528-7246-11ee-939d-92fbcf53809c.png

1. 系统上电

2. Soc PORZ

3. DMSC&MCU BIST(可选)

4. DMSC ROM 开始执行

5. MCU R5 ROM 开始执行

6. MCU R5 ROM 加载并运行SBL

7. MCU R5 SBL(tiboot3.bin)加载SYSFW

8. DMSC 认证并启动SYSFW

9. MCU R5 SBL 加载MCU Boot App, 运行Sciclient Server。

10. MCU R5 Boot App 分别加载Main R5F、DSP、ATF、DTB、Kernel Image/U-boot

11. Main R5F 0 开始运行

12. Main R5F 1 开始运行

13. C66x、C7x 开始运行

14. ATF 开始运行

15. Kernel Image开始执行,然后挂载文件系统运行到Linux控制台

16. 运行应用程序

SPL启动流程

这是SDK默认的启动流程。SPL(SecondaryProgram Loader)指的是运行MCU R5上的SPL,意为第二级的Bootloader,它的功能主要是硬件初始化,引导下一级的Bootloader核或加载应用程序并运行。第一级的Bootloader,指ROM里面的程序,根据启动方式的选择,引导并加载SPL,然后跳转到第二级的Bootloader,Jacinto7 Soc里面的执行流程如x下图所示:

98c4a734-7246-11ee-939d-92fbcf53809c.png

系统上电

Soc PORZ

DMSC&MCU BIST(可选)

DMSC ROM开始执行

MCU R5 ROM开始执行

MCU R5 ROM加载并运行SPL(tiboot3.bin)

MCU R5 SPL加载SYSFW(tifs.bin)

DMSC 认证并启动SYSFW

SPL(tiboot3.bin)在A72上引导tispl.bin(这是uboot之前A72上的第一阶段引导加载程序)

tispl.bin在A72上引导uboot.img并启动Uboot

A72 Uboot加载MCU1_0 Image并执行

A72 Uboot加载R5F 0 Image并执行

A72 Uboot加载 R5F 1 Image并执行

A72 Uboot 加载 C66x 和C7x Image并执行

A72 Uboot 加载Kernel Image并执行,然后挂载文件系统运行到Linux控制台

运行应用程序







审核编辑:刘清

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

    关注

    2526

    文章

    48093

    浏览量

    740061
  • 图像处理
    +关注

    关注

    26

    文章

    1224

    浏览量

    55823
  • 智能驾驶
    +关注

    关注

    3

    文章

    2081

    浏览量

    48213
  • spl
    spl
    +关注

    关注

    0

    文章

    20

    浏览量

    16241
  • SBL
    SBL
    +关注

    关注

    0

    文章

    4

    浏览量

    8222

原文标题:TDA4 SPL SBL启动流程

文章出处:【微信号:eng2mot,微信公众号:汽车ECU开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    恩智浦S32V/英伟达DRIVE PX2/TI的TDA4/寒武纪1M/高通SA8155对比分析哪个好?

    恩智浦S32V/英伟达DRIVE PX2/TI的TDA4/寒武纪1M/高通SA8155对比分析哪个好?
    发表于 09-30 07:03

    ARM U-boot SPL源码简要分析

    运行。SPL是由固化在芯片内部的ROM引导的。我们知道很多芯片厂商固化的ROM支持从nandflash、SDCARD等外部介质启动。所谓启动,就是从这些外部介质中搬移一段固定大小(4K
    发表于 04-13 09:44

    关于iTop4412 iROM阶段启动流程

    iTop4412 irom启动和Exynos4212 iROM Booting Guide是一样的。iROM阶段启动流程本次介绍如何构建Exynos4412中的BL1和BL2,使irom能成功加载
    发表于 04-21 11:45

    Rockchip应用处理器的一般启动流程

    1、Rockchip应用处理器的一般启动流程启动介绍首先,让我们弄清楚这个概念,当我们启动 Linux 操作系统时,有很多启动阶段;然后,我
    发表于 04-21 14:26

    基于双TDA4VM行泊一体方案

    ,我们也看到了智能驾驶技术的提升和巨大的想象空间。 基于双TDA4VM行泊一体方案已经量产。同时,伴随着算法软件成熟度的提高、更高性能芯片的出现,以及系统成本优势,使得单芯片TDA4行泊一体化的方案成为
    发表于 11-03 07:54

    TDA4对深度学习的重要性

    TDA4,你的模型部署流程将变得简单,你的模型将高效地运行在TDA4上。TI 最新一代的汽车处理器TDA4VM集成了高性能计算单元C7x DSP(Digital Signal Proc
    发表于 11-03 06:53

    超异构芯片TDA4内核解析

    1、超异构芯片TDA4内核解析超异构芯片最近是比较火的一个名词,其集中特性是将各类不同的芯片内核进行融合,这种集成式芯片设计可以充分整合芯片资源,进一步提升数据计算效率。并且由于芯片在设计之初就打
    发表于 12-09 16:29

    d1哪吒开发板的启动流程分析

    将程序烧录到sd卡中。 这里将boot0的固件烧录到sd卡的8K处,系统可以正常的启动。 5.裸机程序的编写 在分析了上述SPL和opensbi的启动流程后,自行编译一个简单的裸机
    发表于 08-16 08:16

    uboot中的SPL作用详解

    SPL是uboot第一阶段执行的代码。 主要负责搬移uboot第二阶段的代码到内存中运行。 SPL是由固化在芯片内部的ROM引导的。 我们知道很多芯片厂商固化的ROM支持从nandflash, SDCARD等外部介质启动
    发表于 12-11 18:27 2.6w次阅读
    uboot中的<b class='flag-5'>SPL</b>作用详解

    全志D1芯片的启动流程最底层分析

    关于d1哪吒开发板的启动流程分析 1.本文概述 2.D1上电后启动的第一个程序 3.启动SPL 4.启动
    的头像 发表于 06-15 17:44 7990次阅读

    嵌入式Linux 系统启动流程

    ,即SPL;三、二级启动SPL+uboot1.SPL: Secondary Program Loader:作用:初始化DDR;从启动的设备搬移第二段代码到RAM中,加载uboot;.
    发表于 11-01 16:26 1次下载
    嵌入式Linux 系统<b class='flag-5'>启动</b><b class='flag-5'>流程</b>

    TDA4行泊一体,打开智能驾驶的新篇章

    TDA4行泊一体,打开智能驾驶的新篇章
    发表于 10-28 11:59 13次下载
    单<b class='flag-5'>TDA4</b>行泊一体,打开智能驾驶的新篇章

    当深度学习遇上TDA4

    当深度学习遇上TDA4
    发表于 10-28 11:59 2次下载
    当深度学习遇上<b class='flag-5'>TDA4</b>

    TDA4动态热检测与控制方案

    TDA4动态热检测与控制方案
    发表于 10-28 11:59 1次下载
    <b class='flag-5'>TDA4</b>动态热检测与控制方案

    德州仪器TDA4背后的OpenVX介绍

    近年来行泊一体大行其道,德州仪器的TDA4占了行泊一体大约70%的市场。其背后关键的就是OpenVX。
    的头像 发表于 02-16 09:18 6227次阅读