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

Introduction

The main purpose of the CC2538, CC13xx, and CC26xx ROM bootloader is to support functionality for programming a flash image into the device flash over either SPI or UART.

In this document, CC13xx and CC26xx refer to all devices in the device families CC13x0, CC26x0, CC13x1x3, CC26x1x3, CC13x2, CC26x2, CC13x4, and CC26x4. The CC13x2x7, CC26x2x7, CC2652RB, CC13x2PSIP,and CC26x2PSIP devices are included when referring to the CC13x2 and CC26x2 device family, unless the devices are explicitly stated separately.

The scope of this document is to show how to use the bootloader to perform basic operations such as erasing and programming flash. This document uses UART as the bootloader transportation layer.