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 ROM bootloader supports switching from the device’s internal oscillator to an external oscillator (if available). Switching to an external oscillator increases the maximum baud rate supported by the CC2538 ROM bootloader. If an external oscillator is to be used, a third argument (boolean TRUE) can be passed to the connect function, this third parameter is optional and FALSE by default.
To check whether the connection already has been initialized, the SBL’s initCommunication function sends a dummy command and waits for the bootloader to respond with an ACK. If no connection already exists, the initCommunication function sends the auto baud rate routine (described in Section 2.4.2), expecting an ACK from the ROM bootloader. An example of this sequence is shown in Figure 4-4.
When the connection has been established, the connect function retrieves the device ID by using the serial bootloader command CMD_GET_CHIP_ID and FLASH size and RAM size by using the command CMD_MEMORY_READ to read from a location storing these values.