SWCU194 March 2023 CC1314R10 , CC1354P10 , CC1354R10 , CC2674P10 , CC2674R10
The bootloader uses well-defined packets to ensure reliable communications with the external host (a computer or an external processor). All communications use these well-defined packets, with the exception of the UART automatic baud (see Section 10.2.2.1). The packets are always acknowledged or rejected by the communicating devices with defined acknowledge (ACK) and not-acknowledge (NACK) bytes.
The packets use the same format for receiving and sending packets. This format includes the method to acknowledge successful or unsuccessful reception of a packet.
While the actual signaling on the serial ports is different, the packet format remains the same for supported UART and SPI interfaces.
Packet send and receive must adhere to the simple protocol shown in Figure 10-1.
Perform the following steps to successfully send a packet:
To illustrate packet handling, the basic packet format is shown in Figure 10-2.
In Figure 10-2, the top line shows the device that is transmitting data; the bottom line is the response from the other device.
In this case, a 6-byte packet is sent with the data shown in Figure 10-2. This data results in a checksum of 0x48+0x6F+0x6C+0x61 which, when truncated to 8 bits, is 0x84. The first byte transmitted holds the size of the packet in number of bytes. Then the checksum byte is transmitted. The next bytes to go out are the 4 data bytes in this packet. The transmitter is allowed to send zeros until a nonzero response is received, that is necessary to SPI and is allowed by the UART interface. The receiver is allowed to return zeros until it is ready to ACK or NACK the packet that is being sent. Neither device transfers a nonzero byte until it has received a response after transmitting a packet.