SWRA466E February 2015 – August 2024 CC1310 , CC1310 , CC1311P3 , CC1311P3 , CC1311R3 , CC1311R3 , CC1312PSIP , CC1312PSIP , CC1312R7 , CC1312R7 , CC1314R10 , CC1314R10 , CC1352P , CC1352P , CC1352P7 , CC1352P7 , CC1352R , CC1352R , CC1354P10 , CC1354P10 , CC1354R10 , CC1354R10 , CC2538 , CC2538 , CC2620 , CC2620 , CC2630 , CC2630 , CC2640 , CC2640 , CC2640R2F , CC2640R2F , CC2640R2F-Q1 , CC2640R2F-Q1 , CC2642R , CC2642R , CC2642R-Q1 , CC2642R-Q1 , CC2650 , CC2650 , CC2650MODA , CC2650MODA , CC2651P3 , CC2651P3 , CC2651R3 , CC2651R3 , CC2651R3SIPA , CC2651R3SIPA , CC2652P , CC2652P , CC2652P7 , CC2652P7 , CC2652PSIP , CC2652PSIP , CC2652R , CC2652R , CC2652R7 , CC2652R7 , CC2652RB , CC2652RB , CC2652RSIP , CC2652RSIP , CC2674R10 , CC2674R10
Table 3-2 shows an
overview of the SBL API. API functions that directly map to a bootloader command are
marked with an X. There are a few differences in the bootloader commands between
some of the device families, which also means there are differences in the API
functions between some device families. If a function is not supported, this is
explained in the Description field of Table 3-2. If
called, an SBL function that is not supported for the chosen hardware returns the
constant SBL_UNSUPPORTED_FUNCTION without doing anything.
| SBL FUNCTION NAME | BOOTLOADER CMD | DESCRIPTION | |
|---|---|---|---|
| CC2538 | CC13xx, CC26xx | ||
Create |
N/A | N/A | Static function for creating an SBL device object. |
calculateCrc32 |
X | X | Calculate CRC32 over the specified range. |
connect |
— | — | Initialize connection with ROM bootloader |
cmdDownloadCrc |
— | X | Prepares flash programming with the specified CRC32 value. Not implemented in the CC2538, CC13x0, or CC26x0 bootloader. |
enumerate |
N/A | N/A | Static function for enumerating COM ports on PC. |
eraseFlashBank |
— | X | Erases the entire flash. Not
supported by CC2538, but the same functionality can be achieved by
using eraseFlashRange. |
eraseFlashRange |
X | X | Erase the sectors in the specified range. Uses CMD_SECTOR_ERASE. |
ping |
X | X | Sends ping command. |
readDeviceId |
— | — | Uses CMD_MEMORY_READ to read device ID. |
readFlashSize |
— | — | Uses CMD_MEMORY_READ to read flash size. |
readMemory32 |
X | X | Reads32 bit word from device memory device memory. |
readMemory8 |
— | — | Uses CMD_MEMORY_READ to read 8 bit from device memory. |
readRamSize |
— | — | Uses
CMD_MEMORY_READ to read RAM size. |
readStatus |
X | X | Reads bootloader status. |
reset |
X | X | Resets device using CMD_RESET. |
run |
X | — | Runs the device CPU from the specified address. Not supported by CC13xx or CC26xx. |
setCCFG |
— | X | Set CC13xx and CC26xx CCFG. Not supported by CC2538. |
setXosc |
X | — | Switch to external oscillator. Not supported by CC13xx or CC26xx. |
writeFlashRange |
X | X | Writes FLASH using CMD_DOWNLOAD and CMD_DATA_SEND. |
writeMemory32 |
X | X | Writes32-bit word to device memory using CMD_MEMORY_WRITE. |
writeMemory8 |
— | — | Implements 8-bit write to device
memory using CMD_MEMORY_READ and
CMD_MEMORY_WRITE. |