ZHDU014 December   2025 MSPM33C321A

 

  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 非主配置
      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 参考
      2. 2.5.2 使用 SysConfig 和 Code Composer Studio (CCS)
      3. 2.5.3 使用调试接口
  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 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修订历史记录

SRAM 存储器使用情况

MSPM33 BSL 根据器件中的可用 SRAM 大小动态分配 SRAM 存储器。SRAM 存储器布局说明了用于引导加载程序运行的存储器。

SRAM 存储器布局说明了用于引导加载程序运行的存储器。

  • 数据段和栈段 - 供 BSL 运行使用。在退出引导加载程序时,SRAM 的这些段会被清除。
  • 可变缓冲区空间 - 用于存储 BSL 通信期间所接收/发送数据包的缓冲区空间

SRAM 存储器分配遵循以下结构:

  1. BSL 缓冲区起始地址:计算为用于 BootROM 操作的 SRAM 数据段的结束地址,与下一个 8 字节边界对齐。
  2. BSL 缓冲区结束地址:计算值为 RAM 结束地址减去栈大小。
  3. 可用缓冲区空间:BSL 缓冲区起始地址和 BSL 缓冲区结束地址之间的空间分为两个相等的部分:
    1. RX 缓冲区:用于接收数据包,从 BSL 缓冲区起始地址开始
    2. TX 缓冲区:用于传输数据包,从 BSL 缓冲区起始地址 + 缓冲区大小开始

由于 BSL 协议有 2 个字节用于定义长度,因此最大缓冲区大小限制为 32KB(0x7FFF 字节)。尽管 MSPM33 拥有 256KB 的 SRAM,但每个缓冲区(RX 和 TX)仅使用 32KB。

主机允许进行读写访问的 SRAM 存储器是 BSL 缓冲区起始地址到 [SRAM 结束地址 – 栈大小],其中 SRAM 结束地址由每个器件中可用的 SRAM 存储器决定。由于与可变缓冲空间共享同一 SRAM 空间,因此其内容在 SRAM 写入/读取操作期间有可能被覆盖。