ZHCACJ0B April   2023  – December 2024 AWR2544 , AWR2944 , AWR2944P , IWR2944

 

  1.   1
  2.   摘要
  3.   商标
  4. 1定义、缩写、首字母缩略词
  5. 2引言
  6. 3基本引导加载程序流程
    1. 3.1 引导流程简介
    2. 3.2 准备引导应用程序
      1. 3.2.1 SBL 映像格式
      2. 3.2.2 脚本签名
    3. 3.3 ROM 引导
      1. 3.3.1 引导模式 - SFLASH
        1. 3.3.1.1 映像加载序列
        2. 3.3.1.2 引导模式 UART
          1. 3.3.1.2.1 映像下载序列
    4. 3.4 SBL 引导
      1. 3.4.1 R5 SBL 闪存偏移
      2. 3.4.2 R5 SBL 映像大小
  7. 4总结
  8. 5修订历史记录

SBL 引导

SBL 本质上是引导加载程序库的示例应用程序。由于 SBL 由主引导加载程序 RBL 进行引导,因此 SBL 被称为辅助引导加载程序。SBL 通常会执行许多特定于 SOC 的初始化,然后继续加载应用程序。

 SBL 设计流程图 3-7 SBL 设计流程

辅助引导加载程序通过串行接口接收 sFLASH 中的应用程序元映像来更新该映像。然后,该引导加载程序加载并运行更新的应用程序元映像。ROM(主)引导加载程序始终加载 SBL。用户定义的 SBL 可以选择更新或加载并运行现有应用程序元映像。

SBL 可以确保出厂默认的备份映像始终不会被映像更新程序进行擦除或更新。升级过程针对整个元映像完成。用户定义的 SBL 可执行校验和验证,以验证尝试从 sFLASH 加载的元映像的有效性。在映像损坏或下载中断的情况下,SBL 提供了重新加载映像的失效防护机制。这可以通过复位电路板来实现。如果主元映像加载失败,SBL 将加载出厂默认的备份映像。如果两者都失败,SBL 可以复位电路板,以便用户可以重新尝试下载元映像。

毫米波 MCU Plus SDK 提供了 SBL 的参考设计,供用户参考并编写 SBL。此 SBL 的基本特点如下所示:

  • SBL 在引导介质中的指定位置查找应用程序二进制文件的多核 appimage [GJ3]
  • 如果找到该 appimage,则该 appimage 将解析为多个 RPRC [GJ4]。这些是经过优化的二进制文件,稍后会加载到各个 CPU 中。
  • 每个 RPRC 映像都包含有关要加载映像的内核、入口点和该应用程序二进制文件的多个段的信息。
  • SBL 使用此信息来初始化每个具有有效 RPRC 的内核。然后,SBL 根据指定的段加载 RPRC,设置入口点,并从复位中释放内核。现在,内核开始运行。
 SBL 引导图 3-8 SBL 引导