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

使用引导加载程序的示例程序流程

本节介绍了 BSL 主机通过引导加载程序加载映像的典型序列。此采样序列会擦除闪存存储器并对其中的新固件进行编程。

  • 应通过空白器件检测、基于引脚的调用或应用程序请求启动引导加载程序。

  • 调用后,发送连接命令以通过所需的接口与 BSL 建立连接。
  • 如果使用 UART 接口,则可以将波特率更改为更高的值,以加快进一步的通信,并且波特率是可选的。
  • 要完全擦除闪存存储器,请使用 Mass erase 命令。仅当需要更新非主闪存时,才使用出厂复位命令。这是因为,如果非主闪存被擦除并保持未编程状态,器件就会被锁定。
  • 对固件映像进行编程
  • 对已编程的存储器区域进行 CRC 验证,以检查已编程数据的正确性。这是一个可选步骤。
  • 应用程序可通过“Start application”命令启动。
GUID-20221116-SS0I-K8FF-2XW0-BH87QL0S5JPW-low.png图 5-1 BSL 主机序列