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修订历史记录

引导加载程序内核命令

表 3-2 BSL 命令
BSL 命令 受保护 命令代码(字节) 起始地址(字节) 数据(字节) BSL 内核响应
连接 0x12 - -
解锁引导加载程序 0x21 - D1....D32(密码)
闪存范围擦除 0x23 A1...A4(起始地址) A1...A4(结束地址)
批量擦除 0x15 - -
Program Data 0x20 A1...A4 D1...Dn
快速编程数据 0x24 A1...A4 D1...Dn
存储器回读 0x29 A1...A4 L1....L4
恢复出厂设置 0x30 - D1....D16(密码)
Get Device Info 0x19 - -
独立验证 0x26 A1...A4 L1....L4
启动应用程序 0x40 - -
更改 Baudrate 0x52 - D1(波特率 ID)

缩写:

A1...A4:地址字节,其中 A1 是最低有效字节

D1..Dn:数据字节,其中“n”受 BSL 最大缓冲区大小限制

L1...L4:数据长度字节,其中 L1 是最低有效字节