ZHDU116G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
表 11-3 列出了 UART0 和 SSI0 引导加载程序接口上的自定义协议所支持的命令。
每条命令在协议数据包内传输。包内的前 2 个字节是大小字节,其后是校验和字节。第三个字节保存用于标识命令的命令值;所有支持命令的命令值列于表 11-3 的命令值列中。包中剩余的字节是命令参数。有关每条命令的命令字节和参数字节的完整说明,请参阅节 11.2.3.1 至节 11.2.3.12。
以下小节指定了每条命令在协议包内的各个字节。
| 命令 | 命令值 | 包中字节数 | 说明 |
|---|---|---|---|
| COMMAND_PING | 0x20 | 3 | 从引导加载程序接收确认信号,表示通信已建立。 |
| COMMAND_DOWNLOAD | 0x21 | 11 | 准备闪存编程。指定将数据编程到闪存中的起始位置,以及后续 COMMAND_SEND_DATA 命令将要发送的字节数。 |
| COMMAND_GET_STATUS | 0x23 | 3 | 返回最后发出的命令的状态。通常,引导加载程序必须在每条命令发送后收到此命令,才能确保前一条命令已成功。有关已定义的状态值,请参阅表 11-4。状态在一个 3 字节的协议数据包中返回。 |
| COMMAND_SEND_DATA | 0x24 | 4 至 255 | 传输数据并编程闪存。传输编程到闪存中 COMMAND_DOWNLOAD 命令或另一条 COMMAND_SEND_DATA 命令之后的数据。 要编程到闪存中的数据字节数可为 1 至 252(数据包中的最大数据负载)。 如果 COMMAND_SEND_DATA 命令下载的数据量超过了 COMMAND_DOWNLOAD 命令指定的字节数,将生成错误状态。 |
| COMMAND_RESET | 0x25 | 3 | 执行系统复位。相关详细信息,请参阅节 8.7.1.2。 |
| COMMAND_SECTOR_ERASE | 0x26 | 7 | 擦除主闪存组中的一个扇区。要擦除的扇区由扇区起始地址指定。仅擦除未被 FCFG1 和 CCFG 中的写保护位保护的闪存扇区。 如果选择了顶部扇区(包含 CCFG),CCFG 的内容将复位为 TI 出厂器件时的值。 |
| COMMAND_CRC32 | 0x27 | 15 | 计算指定存储器区域上的 CRC32。指定每个存储器位置的读取次数。 |
| COMMAND_GET_CHIP_ID | 0x28 | 3 | 从 AON_PMCTL JTAGUSERCODE 寄存器中返回 32 位的 USER CODE,MSB 在前。ID 在协议数据包中返回。 |
| COMMAND_MEMORY_READ | 0x2A | 9 | 从指定的存储器映射起始地址,以指定的访问宽度(8 位或 32 位)读取指定数量的元素。请求的数据量必须小于通信数据包的最大大小。 |
| COMMAND_MEMORY_WRITE | 0x2B | 9 至 255 | 从指定的存储器映射起始地址,以指定的宽度(8 位或 32 位)写入收到的数据。要写入的数据必须与命令包含在同一个数据包中。 |
| COMMAND_BANK_ERASE | 0x2C | 3 | 对所有不受 FCFG1 和 CCFG 写保护位保护的客户可访问闪存扇区执行擦除。如果 CCFG 参数 BANK_ERASE_DIS 被清除,则不执行擦除操作。 由于顶部扇区(包含 CCFG)可能被擦除,CCFG 的内容将复位为 TI 出厂器件时的值。 |
| COMMAND_SET_CCFG | 0x2D | 11 | 使用此命令数据字节中收到的值,将 CC13x2 和 CC26x2 定义的 CCFG 字段写入闪存 CCFG 区域。 此命令使用户无需详细了解闪存 CCFG 内保存所定义 CCFG 字段的物理地址。 |
| COMMAND_DOWNLOAD_CRC | 0x2F | 15 | 使用指定的 CRC32 值准备闪存编程。指定将数据编程到主闪存组中的起始位置、后续 COMMAND_SEND_DATA 命令将要发送的字节数,以及覆盖待编程总字节数的 32 位 CRC 值。 |