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

接收

Prototype

uint32_t receive(void);

return - 返回接收到的数据包的 32 位起始地址。数据包的格式应与 ROM BSL 协议 Topic Link Label4 中描述的格式相同。

描述

接收功能应负责从 BSL 主机读取数据包。只有在接收到完整数据包并检查数据正确性(数据的 CRC 验证)时,它才应与 BSL 内核共享数据包。此外,每个数据包只应共享一次地址。如果 BSL 内核调用此函数,当没有接收到数据包或正在接收数据包时,它应该返回“0”。

如果成功接收到数据包而没有出现任何问题,则应像 ROM BSL 插件那样向主机确认(请参阅 ROM BSL 确认)。如果出现任何问题,应通过 NACK 向主机报告数据包,并且数据包不应与 ROM BSL 内核共享。