ZHCAAO2D February   2015  – August 2021 CC1310 , CC1352R , CC2538 , CC2620 , CC2630 , CC2640 , CC2640R2F , CC2640R2F-Q1 , CC2642R , CC2642R-Q1 , CC2650 , CC2650MODA , CC2652R , CC2652R7 , CC2652RB , CC2652RSIP

 

  1.   商标
  2. 1引言
  3. 2ROM 引导加载程序
    1. 2.1 配置引导加载程序
      1. 2.1.1 CC2538
      2. 2.1.2 CC26x0
    2. 2.2 CC26x2
    3. 2.3 通信协议
      1. 2.3.1 ACK/NACK
    4. 2.4 接口配置
      1. 2.4.1 硬件引脚
      2. 2.4.2 UART 配置
      3. 2.4.3 建立通信
      4. 2.4.4 状态命令
  4. 3Serial Bootloader Library (SBL)
    1. 3.1 SBL 返回值
    2. 3.2 SBL API
      1. 3.2.1 器件特定函数
  5. 4示例项目
    1. 4.1 硬件设置
      1. 4.1.1 SmartRF06EB 虚拟 COM 端口
        1. 4.1.1.1 外部串行接口
      2. 4.1.2 LaunchPad 虚拟 COM 端口
      3. 4.1.3 引导加载程序后门
    2. 4.2 软件设置
      1. 4.2.1 器件类型
      2. 4.2.2 波特率
    3. 4.3 程序流程
      1. 4.3.1 枚举 COM 端口
      2. 4.3.2 创建器件
      3. 4.3.3 连接
      4. 4.3.4 擦除闪存范围
      5. 4.3.5 写入闪存范围
      6. 4.3.6 计算 CRC32
      7. 4.3.7 复位
  6. 5参考文献
  7. 6修订历史记录

Serial Bootloader Library (SBL)

SBL 是适用于 Microsoft Windows 的 PC 库,使用与 CC2538、CC26x0 和 CC26x2 串行引导加载程序进行通信的主机 API。SBL 库工程是在 Visual Studio C++ Professional 2015 中创建的。Serial Bootloader Library 使用 Windows API 与串行 COM 端口进行通信,因此不具有跨平台兼容性。

SBL 中的所有函数都是同步的;这意味着在收到 ACK 或 NACK 或发生错误之前,该函数不会返回。图 3-1 演示了 SBL ping() 函数的序列图表。

GUID-B8D1A9C0-C493-4F70-92D6-FA3869C8ADDB-low.gif图 3-1 Ping 函数调用的序列图表

所有引导加载程序命令都可通过 SBL 中的函数访问,从而简化了直接通过 SBL 执行闪存存储器的擦除和写入等操作。

有关 ROM 引导加载程序以及如何使用所有串行命令的更详细说明,请参阅器件特定 ROM 用户指南 [1][2][3]