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

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2ROM Bootloader
    1. 2.1 Configuring the Bootloader
      1. 2.1.1 CC2538
      2. 2.1.2 CC13x0, CC26x0
      3. 2.1.3 CC13x1x3, CC26x1x3
      4. 2.1.4 CC13x2, CC26x2
      5. 2.1.5 CC13x4, CC26x4
    2. 2.2 Communication Protocol
      1. 2.2.1 ACK or NACK
    3. 2.3 Interface Configuration
      1. 2.3.1 Hardware Pins
      2. 2.3.2 UART Configuration
      3. 2.3.3 Establishing Communication
      4. 2.3.4 Status Command
  6. 3Serial Bootloader Library (SBL)
    1. 3.1 SBL Return Values
    2. 3.2 SBL API
  7. 4Example Project
    1. 4.1 Hardware Setup
      1. 4.1.1 LaunchPad™ Development Kit Virtual COM Port
      2. 4.1.2 SmartRF06EB Virtual COM Port
        1. 4.1.2.1 External Serial Interface
      3. 4.1.3 Bootloader Backdoor
    2. 4.2 Software Setup
      1. 4.2.1 Device Type
      2. 4.2.2 Baud Rate
    3. 4.3 Program Flow
      1. 4.3.1 Enumerate COM Ports
      2. 4.3.2 Create Device
      3. 4.3.3 Connect
      4. 4.3.4 Erase Flash Range
      5. 4.3.5 Write Flash Range
      6. 4.3.6 Calculate CRC32
      7. 4.3.7 Reset
  8. 5References
  9. 6Revision History

Hardware Pins

Table 2-10, Table 2-11, and Table 2-12 show the hardware pins used by the ROM bootloader to communicate over UART and SPI. See also the bootloader transport layer section of the specific device family documentation ([1] through [6] in the References section).

Table 2-10 Serial Interface Configuration: Evaluation Module Kits
Signal CC2538 CC13x0, CC26x0 EM Pin
QFN48, 7x7 QFN32, 5x5 QFN32, 4x4
UART_RX PA0 DIO2 DIO1 DIO1 1.07
UART_TX PA1 DIO3 DIO0 DIO2 1.09
SPI CLK PA2 DIO10 DIO10 DIO8 1.16
SPI CSn PA3 DIO11 DIO9 DIO7 1.14
SPI MOSI PA4 DIO9 DIO11 DIO9 1.18
SPI MISO PA5 DIO8 DIO12 DIO0 1.20
Table 2-11 Serial Interface Configuration for CC13x2 and CC26x2 LaunchPad™ Development Kits
Signal CC2640R2 (1) CC26x2R CC1312R CC1352x LaunchPad™ Pin
UART_RX DIO2 DIO2 DIO2 DIO12 3 (2)
UART_TX DIO3 DIO3 DIO3 DIO13 4 (2)
SPI CLK DIO10 DIO10 DIO10 DIO10 7
SPI CSn DIO11 DIO11 DIO11 DIO11 18
SPI MOSI DIO9 DIO9 DIO9 DIO9 15
SPI MISO DIO8 DIO8 DIO8 DIO8 14
The pinout is only valid for the QFN48, 7x7 package
Reverse the order for the CC2640R2 LaunchPad™
Table 2-12 Serial Interface Configuration for CC13x1x3, CC26x1x3, CC13x4, and CC26x4 LaunchPad™ Development Kits
Signal CC26x4x10 CC1314R10,
CC13x1R3,
CC26x1R3
CC1354x10,
CC13x1P3,
CC26x1P3
LaunchPad™ Pin
UART_RX DIO12 DIO2 DIO12 3
UART_TX DIO13 DIO3 DIO13 4
SPI_CLK DIO10 DIO10 DIO10 7
SPI_CSn DIO11 DIO11 DIO11 18
SPI_MOSI DIO9 DIO9 DIO9 15
SPI_MISO DIO8 DIO8 DIO8 14

The bootloader selects the first interface accessed by the external device. The inactive interface (UART or SPI) is disabled. To switch to the other interface, the device must be reset using, for example, pin reset.