ZHCAG72 September   2026

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2启动流程
    1. 2.1 SPL启动流程
      1. 2.1.1 R5 SPL
      2. 2.1.2 TF-A+OPTEE+A53 SPL
      3. 2.1.3 U-Boot
      4. 2.1.4 Linux以及用户态
    2. 2.2 SPL Falcon模式
      1. 2.2.1 实现步骤
        1. 2.2.1.1 安装Linux SDK
        2. 2.2.1.2 添加falcon脚本
        3. 2.2.1.3 编译Linux设备树
        4. 2.2.1.4 制作tispl.bin
        5. 2.2.1.5 制卡启动
    3. 2.3 从SPL替换为SBL
      1. 2.3.1 在SBL中进行Falcon启动
  6. 3启动介质
  7. 4操作系统启动优化
    1. 4.1 裁剪操作系统
      1. 4.1.1 使用预设的裁剪
      2. 4.1.2 自定义裁剪
    2. 4.2 减少log输出
  8. 5用户空间优化
    1. 5.1 使用systemd自定义启动服务
  9. 6使用init脚本最小化启动服务
  10. 7总结
  11. 8参考文献

启动流程

在了解启动流程之前需要大致了解一下处理器的大致组成。TI的处理器多为多核异构的架构,即在一个处理器中会出现多个不同架构的计算单元同时存在且并行处理的场景,而一些计算单元组合在一起构成一个域。以AM62A7为例,如下图所示,Application Cores中有最多4颗A53核,一般运行Linux或者QNX等高阶操作系统,MCU Channel with FFI是用于功能安全的独立MCU R5F,一般运行RTOS或者AUTOSAR,Device Management域中有一颗DM R5F核,负责启动阶段的部分工作,在启动完成后负责一些片上资源的管理,一般会运行RTOS操作系统,Deep Learning Accelerator中包含一颗C7xMMA核,运行RTOS操作系统,负责AI推理加速。

 AM62Ax 系统框图 图 2-1 AM62Ax 系统框图

SOC的完整启动需要给每一个核心都加载各自的代码。TI提供的启动流程总体上可以分为SPL和SBL两种,在这两种模式中还有是否经过U-boot的细分启动流程。接下来会详细介绍两种启动流程、各种启动过程中可以进行的不同配置以及不同配置带来的影响。