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

Serial Bootloader Library (SBL)

The SBL is a PC library for Microsoft Windows that implements a host API for communicating with the CC2538, CC13xx, and CC26xx serial bootloaders. The SBL library project is created in Visual Studio C++ Professional 2015. The serial bootloader library uses the Windows API to communicate with the serial COM port and is therefore not cross-platform compatible.

All functions in SBL are synchronous; meaning that the function does not return until ACK or NACK are received or an error occurs. Figure 3-1 demonstrates a sequence chart of the SBL ping() function.

 Sequence Chart for Ping Function CallFigure 3-1 Sequence Chart for Ping Function Call

All bootloader commands can be accessed through functions within SBL; which allows easy execution of operations like erasing and writing to the flash memory directly through SBL.

For a more detailed description of the ROM bootloader and how to use all the serial commands, see the device-specific ROM user’s guide [1] through [6] in the References section.