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

通信协议

CC2538、CC26x0 和 CC26x2 引导加载程序使用相同的格式来接收和发送数据包。SPI 和 UART 传输层上的实际信令不同,但数据包格式保持不变。表 2-5 中显示了数据包格式,表 2-6 中对各字段进行了描述。

表 2-5 ROM 引脚加载程序数据包格式
大小(1 字节)校验和(1 字节)数据字节 1数据字节 N
表 2-6 数据包格式字段说明
数据包字段大小(字节)说明
Size(大小)1数据包中的字节数,包括大小字节。
Checksum(校验和)1数据的校验和。校验和算法是被截断为 8 位的数据字节的总和。
校验和 = (∑data) mod 256
Data(数据)0-253实际数据字节。第一个数据字节通常是引导加载程序的命令字节。

数据包发送和数据包接收必须遵守如图 2-2 所示的简单协议。主机器件和 CC2538/CC26x0/CC26x2 引导加载程序都可以充当发送器和接收器。主机器件在等待来自引导加载程序的数据响应时成为接收器。

有关通信协议的更多详细信息,请参阅 [1][2][3]

GUID-FD3D6EF5-638C-4E59-907D-26CF2F5516D4-low.gif图 2-2 发送和接收协议的序列图表