ZHCUAO3 February   2023 MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1

 

  1.   摘要
  2.   商标
  3. 1BSL 特性概览
  4. 2术语
  5. 3BSL 架构
    1. 3.1 设计
      1. 3.1.1 超时特性
        1. 3.1.1.1 接口自动检测
        2. 3.1.1.2 命令接收
    2. 3.2 调用 BSL
      1. 3.2.1 空白器件
      2. 3.2.2 应用程序请求
      3. 3.2.3 基于 GPIO 的调用
      4. 3.2.4 调试邮箱命令
      5. 3.2.5 其他
        1. 3.2.5.1 启动前应用程序验证
    3. 3.3 存储器
      1. 3.3.1 SRAM 存储器使用情况
    4. 3.4 BSL 配置
    5. 3.5 BSL 状态
  6. 4引导加载程序协议
    1. 4.1 数据包格式
    2. 4.2 UART 和 I2C BSL 协议
      1. 4.2.1 BSL 确认
      2. 4.2.2 外设配置
        1. 4.2.2.1 UART
        2. 4.2.2.2 I2C
        3. 4.2.2.3 CRC
    3. 4.3 引导加载程序内核命令
      1. 4.3.1  连接
      2. 4.3.2  获取器件信息
      3. 4.3.3  解锁引导加载程序
      4. 4.3.4  编程数据
      5. 4.3.5  快速编程数据
      6. 4.3.6  回读数据
      7. 4.3.7  闪存范围擦除
      8. 4.3.8  批量擦除
      9. 4.3.9  恢复出厂设置
      10. 4.3.10 独立验证
      11. 4.3.11 启动应用程序
      12. 4.3.12 更改波特率
    4. 4.4 BSL 内核响应
      1. 4.4.1 BSL 内核消息
      2. 4.4.2 详细错误
      3. 4.4.3 存储器回读
      4. 4.4.4 器件信息
      5. 4.4.5 独立验证
    5. 4.5 引导加载程序安全性
      1. 4.5.1 受密码保护的命令
        1. 4.5.1.1 安全警报
      2. 4.5.2 进入 BSL
  7. 5使用引导加载程序的示例程序流程
  8. 6次级引导加载程序
    1. 6.1 次级引导加载程序示例
  9. 7接口插件
    1. 7.1 实现
      1. 7.1.1 Init
      2. 7.1.2 接收
      3. 7.1.3 发送
      4. 7.1.4 Deinit
      5. 7.1.5 重要注意事项
    2. 7.2 闪存插件类型
    3. 7.3 覆盖现有接口
      1. 7.3.1 UART 接口闪存插件示例
  10. 8参考文献
  11. 9修订历史记录

SRAM 存储器使用情况

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

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

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

GUID-20221116-SS0I-PBMP-X8WG-FPCFCQKXCCQ1-low.png图 3-3 SRAM 使用情况

A - SRAM 起始地址 (0x20000000)

B - 未注册任何闪存插件接口时,从“Get Device Info”命令响应中获知的“BSL Buffer Start Address”

C - 从“Get Device Info”命令响应中获知的“BSL Buffer Start Address”。当没有注册闪存插件接口时,它将与“B”相同

D - BSL 缓冲区结束地址 =“BSL 缓冲区起始地址”+(2 *“BSL 最大缓冲区大小”),其中 BSL 缓冲区起始地址和 BSL 最大缓冲区大小可从“Get Device Info”命令响应中得知

E - 栈分配的起始地址 (E - 0x120)。当“BSL 最大缓冲区大小”小于 0xFFFF 时,它将与“D”相同

F - 器件中可用 SRAM 存储器的结束地址。要获悉此地址,请参阅器件特定数据表。

B-C 段:

  • 在 BSL 配置中注册时,将为闪存插件操作分配的数据段

C-D 段:

  • 用于存储数据包的缓冲区空间

  • 最大大小为 (2 * 0xFFFF)

C-E 段:

  • 可通过 BSL 命令进行 SRAM 读取和写入操作的存储器