ZHCUAO3 February   2023

 

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

闪存范围擦除

结构

标头

长度

CMD

地址

数据

CRC32

0x80

0x09

0x00

0x23

A1...A4(起始地址)

A1...A4(结束地址)

C1

C2

C3

C4

描述

Flash range erase 命令用于擦除指定的闪存存储器区域。闪存按扇区擦除 (1KB),不能进行更小范围的擦除。

当起始地址和结束地址驻留在不同的闪存扇区中时,BSL 会擦除起始地址和结束地址之间的所有闪存扇区,包括包含这些地址的扇区。

此命令只能用于擦除主闪存存储器。不能擦除非主闪存存储器。

结束地址不应小于起始地址。

保护

地址

要擦除的存储器区域的起始地址。A1...A4,其中 A1 是 32 位地址的最低有效字节。

数据

要擦除的存储器区域的结束地址。A1...A4,其中 A1 是 32 位地址的最低有效字节。

命令返回

BSL 确认和带有有关操作状态的消息的 BSL 内核响应。有关更多详细信息,请参阅Topic Link Label4.4.1部分。

示例

主机:80 09 00 23 00 01 00 00 FF 03 00 00 2B E6 BE D8

BSL:00 08 02 00 3B 00 38 02 94 82