SWRA466D February 2015 – August 2021 CC1310 , CC1310 , CC1352R , CC1352R , CC2538 , CC2538 , CC2620 , CC2620 , CC2630 , CC2630 , CC2640 , CC2640 , CC2640R2F , CC2640R2F , CC2640R2F-Q1 , CC2640R2F-Q1 , CC2642R , CC2642R , CC2642R-Q1 , CC2642R-Q1 , CC2650 , CC2650 , CC2650MODA , CC2650MODA , CC2652R , CC2652R , CC2652R7 , CC2652R7 , CC2652RB , CC2652RB , CC2652RSIP , CC2652RSIP
The CC2538, CC26x0, and CC26x2 bootloader uses the same format for receiving and sending packets. The actual signaling on SPI and UART transportation layers is different, but the packet format remains the same. The packet format is shown in Table 2-5 and each field is described in Table 2-6.
Size (1 Byte) | Checksum (1 Byte) | Data byte 1 | … | Data byte N |
Packet Field | Size (bytes) | Description |
---|---|---|
Size | 1 | The number of bytes in the packet, including the size byte. |
Checksum | 1 | The checksum of the data. The checksum algorithm is the sum of the data bytes truncated to 8 bit. Checksum = (∑data) mod 256 |
Data | 0-253 | The actual data bytes. The first data byte is typically the bootloader’s command byte. |
Packet send and packet receive must adhere to the simple protocol shown in Figure 2-2. Both the host device and the CC2538/CC26x0/CC26x2 bootloader can act as sender and receiver. The host device becomes the receiver when it waits for a data response from the bootloader.
For more details about the communication protocol, see [1], [2], and [3].