ZHDU066 March   2026 AM13E23019

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
    1. 1.1 BSL 特性概览
    2. 1.2 术语
    3. 1.3 其他资源
  5. 2BSL 架构
    1. 2.1 设计
      1. 2.1.1 超时特性
        1. 2.1.1.1 接口自动检测
        2. 2.1.1.2 命令接收
    2. 2.2 调用 BSL
      1. 2.2.1 应用程序请求
      2. 2.2.2 基于 GPIO 的调用
      3. 2.2.3 调试邮箱命令
      4. 2.2.4 其他 BSL 调用方法
        1. 2.2.4.1 启动前应用程序验证
        2. 2.2.4.2 空白器件处理
    3. 2.3 存储器
      1. 2.3.1 SRAM 存储器使用情况
    4. 2.4 BSL NONMAIN 配置
      1. 2.4.1  BSL 配置 ID
      2. 2.4.2  BSL 接口引脚 (BLINTERFACE_PINS)
      3. 2.4.3  BSL 调用引脚配置 (BSLPIN_INVOKE)
      4. 2.4.4  存储器读取配置
      5. 2.4.5  BSL 密码
      6. 2.4.6  应用程序修订指针
      7. 2.4.7  安全警报级别
      8. 2.4.8  UART 波特率
      9. 2.4.9  I2C 目标地址
      10. 2.4.10 配置 CRC
    5. 2.5 更改 BSL 配置
      1. 2.5.1 使用 BSL 命令
      2. 2.5.2 使用调试接口
  6. 3引导加载程序协议
    1. 3.1 数据包格式
    2. 3.2 BSL 协议
      1. 3.2.1 BSL 确认
      2. 3.2.2 外设配置
        1. 3.2.2.1 UART
        2. 3.2.2.2 I2C
        3. 3.2.2.3 MCAN
        4. 3.2.2.4 CRC
    3. 3.3 引导加载程序内核命令
      1. 3.3.1  连接
      2. 3.3.2  Get Device Info
      3. 3.3.3  解锁引导加载程序
      4. 3.3.4  Program Data
      5. 3.3.5  快速编程数据
      6. 3.3.6  回读数据
      7. 3.3.7  闪存范围擦除
      8. 3.3.8  批量擦除
      9. 3.3.9  恢复出厂设置
      10. 3.3.10 独立验证
      11. 3.3.11 启动应用程序
      12. 3.3.12 更改波特率
    4. 3.4 引导加载程序内核响应
      1. 3.4.1 BSL 内核消息
      2. 3.4.2 详细错误
      3. 3.4.3 存储器回读
      4. 3.4.4 器件信息
      5. 3.4.5 独立验证
    5. 3.5 引导加载程序安全性
      1. 3.5.1 受密码保护的命令
        1. 3.5.1.1 安全警报
      2. 3.5.2 BSL 条目
  7. 4使用引导加载程序的示例程序流程
  8. 5修订历史记录

配置 CRC

CRC 字段包含一个 32 位循环冗余校验值,该值基于完整的 BSL 配置结构计算得出(CRC 字段除外)。该值用于验证配置数据的完整性。

表 2-22 CRC
NM1 地址 NM1 地址 [31:24] NM1 地址 [23:16] NM1 地址 [15:8] NM1 地址 [7:0]
0x60101850 CRC[31:24] CRC[23:16] CRC[15:8] CRC[7:0]
表 2-23 CRC 数据结构
参数 类型 说明 默认值
CRC uint32_t BSL_CONFIG 结构的 CRC 0x5A9EA486

默认值:0x5A9EA486(根据默认配置值计算得出)

有效值:基于 BSL 配置的内容计算得出的值

CRC 字段有几个重要用途:

  1. 数据完整性验证:验证 BSL 配置数据没有损坏或被意外修改。
  2. 配置验证:确认 BSL 配置结构有效且完整。
  3. 防错机制:有助于防止 BSL 使用会导致意外行为的错误配置值。

每当修改 BSL 配置中的任何字段时,都必须重新计算 CRC。这包括:

  1. 初始配置:首次创建或编程 BSL 配置时。
  2. 配置更新:更改配置中的任何字段时。
  3. Factory Reset:恢复出厂设置后,会针对默认配置计算新的 CRC。

BSL 配置中的 CRC 不正确会导致永久锁定,因为会导致不可恢复的灾难性错误。

注: 使用 CCS 等工具修改 BSL 配置时,通常会自动计算和更新 CRC。但是,当使用 BSL 命令或其他方法手动修改配置时,必须确认已正确地重新计算 CRC,以避免永久损坏器件。