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

UART 波特率

UART_BAUD_RATE 字段指定 BSL 中用于 UART 通信的默认波特率。这决定了使用 UART 接口进行 BSL 操作时的通信速度。

表 2-17 UART_BAUD_RATE
NM1 地址 NM1 地址 [31:24] NM1 地址 [23:16]
0x6010183C UART_BAUD_RATE[15:8] UART_BAUD_RATE[7:0]
表 2-18 UART_BAUD_RATE 数据结构
参数 类型 说明 有效值 默认值
UART_BAUD_RATE uint16_t ROM BSL 的 UART 波特率 请参阅 表 2-19 0x2 (9600bps)
表 2-19 UART_BAUD_RATE 有效值
实现
BL_CFG_UART_BAUDRATE_4800 0x1 4800bps
BL_CFG_UART_BAUDRATE_9600 0x2 9600bps
BL_CFG_UART_BAUDRATE_19200 0x3 19200bps
BL_CFG_UART_BAUDRATE_38400 0x4 38400bps
BL_CFG_UART_BAUDRATE_57600 0x5 57600bps
BL_CFG_UART_BAUDRATE_115200 0x6 115200bps
BL_CFG_UART_BAUDRATE_1000000 0x7 1000000bps
BL_CFG_UART_BAUDRATE_2000000 0x8 2000000bps
BL_CFG_UART_BAUDRATE_3000000 0x9 3000000bps
BL_CFG_UART_BAUDRATE_4000000 0x10 4000000bps
所有其他值 9600bps

更改波特率

有两种方法可以更改 UART 波特率:

  1. 永久更改:使用节 2.5 中所述的方法修改 BSL 配置中的 UART_BAUD_RATE 字段。这会更改调用 BSL 时使用的默认波特率。
  2. 运行时更改:在 BSL 会话期间使用更改波特率命令 (CMD_CHANGE_BAUD_RATE, 0x52) 临时更改波特率。此更改仅对当前 BSL 会话有效,在器件复位时恢复为默认值。

注: 使用 UART 接口进行 BSL 通信时,主机和器件必须配置为使用相同的波特率。如果使用“更改波特率”命令更改波特率,则主机还必须更改波特率以进行匹配。