SWCU185G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
Table 11-3 lists the commands supported by the custom protocol on the UART0 and SSI0 bootloader interfaces.
Each command is transferred within a protocol packet. The first 2 bytes within a packet are the size byte followed by the checksum byte. The third byte holds the command value that identifies the command; the values for all the supported commands are listed in the Command Value column of Table 11-3. The remaining bytes within the packet are command parameters. See Section 11.2.3.1 through Section 11.2.3.12 for a complete description of the command byte and parameter bytes for each command.
The following subsections specify the individual bytes within the protocol packets for each command.
Command | Command Value | Bytes in Packet | Description |
---|---|---|---|
COMMAND_PING | 0x20 | 3 | Receives an acknowledge from the bootloader indicating that communication has been established. |
COMMAND_DOWNLOAD | 0x21 | 11 | Prepares flash programming. Specifies from where to program data in flash and how many bytes will be sent by the COMMAND_SEND_DATA commands that follow. |
COMMAND_GET_STATUS | 0x23 | 3 | Returns the status of the last command that was issued. Typically, this command must be received by the bootloader after every command is sent to ensure that the previous command was successful. For defined status values, see Table 11-4. The status is returned within a protocol packet of 3 bytes. |
COMMAND_SEND_DATA | 0x24 | 4 to 255 | Transfers data and programs flash. Transferring data which is programmed into flash following a COMMAND_DOWNLOAD command or another COMMAND_SEND_DATA command. The number of data bytes to be programmed in flash can be 1 to 252 (maximum data load in packet). If more data are downloaded by the COMMAND_SEND_DATA commands than are specified by the COMMAND_DOWNLOAD command, an error status is generated. |
COMMAND_RESET | 0x25 | 3 | Performs a system reset. For details, see Section 8.7.1.2. |
COMMAND_SECTOR_ERASE | 0x26 | 7 | Erases one sector within the flash main bank. The sector to erase is specified by the sector start address. Only flash sectors not protected by write-protect bits in FCFG1 and CCFG are erased. If the top sector is selected (containing CCFG), the content of CCFG will be reset to the same values as when the devices was delivered from TI. |
COMMAND_CRC32 | 0x27 | 15 | Calculates CRC32 over a specified memory area. The number of reads per memory location is specified. |
COMMAND_GET_CHIP_ID | 0x28 | 3 | Returns the 32-bit USER CODE from the AON_PMCTL JTAGUSERCODE register with MSB first. The ID is returned within a protocol packet. |
COMMAND_MEMORY_READ | 0x2A | 9 | Reads a specified number of elements with a specified access width (8 bits or 32 bits) from a specified memory-mapped start address. The requested amount of data must be less than the maximum size of a communication packet. |
COMMAND_MEMORY_WRITE | 0x2B | 9 to 255 | Writes the received data in accesses with a specified width (8 or 32 bits) from a specified memory-mapped start address. Data to be written must be contained in same packet as the command. |
COMMAND_BANK_ERASE | 0x2C | 3 | Performs an erase of all of the customer-accessible flash sectors not protected by FCFG1 and CCFG write-protect bits. No erase operation is performed if the CCFG parameter BANK_ERASE_DIS is cleared. Because the top sector might be erased (containing CCFG), the content of CCFG will be reset to the same values as when the devices was delivered from TI. |
COMMAND_SET_CCFG | 0x2D | 11 | Writes the CC13x2- and CC26x2-defined CCFG fields to the flash CCFG area with the values received in the data bytes of this command. This command abstracts the user from detailed knowledge concerning which physical addresses within the flash CCFG holding the defined CCFG fields. |
COMMAND_DOWNLOAD_CRC | 0x2F | 15 | Prepares flash programming with the specified CRC32 value. Specifies from where to program data in the flash main bank, how many bytes will be sent by the COMMAND_SEND_DATA commands that follow, and the 32-bits CRC value covering the total number of bytes to be programmed. |