SWPA230A May   2017  – June 2018 CC3120 , CC3120MOD , CC3220MOD , CC3220MODA , CC3220R , CC3220S , CC3220SF

 

  1.   CC3120 and CC3220 SimpleLink™ Wi-Fi® Embedded Programming
    1.     Trademarks
    2. 1 Introduction
    3. 2 Embedded Programming Schemes
    4. 3 Setup
    5. 4 Bootloader Protocol
      1. 4.1 Overview
      2. 4.2 General Message Format
      3. 4.3 Commands
        1. 4.3.1 Get Status
        2. 4.3.2 Get Storage List
        3. 4.3.3 Raw Storage Write
        4. 4.3.4 Get Version Info
        5. 4.3.5 Raw Storage Erase
        6. 4.3.6 Get Storage Info
        7. 4.3.7 Execute from RAM
        8. 4.3.8 Switch UART to APPS MCU
        9. 4.3.9 FS Programming
      4. 4.4 Responses
        1. 4.4.1 Ack
        2. 4.4.2 Nack
        3. 4.4.3 Last Status
        4. 4.4.4 Storage List
        5. 4.4.5 Storage Info
        6. 4.4.6 Version Info
    6. 5 Embedded Programming Procedure
      1. 5.1 Overview
      2. 5.2 High-Level Flow Diagram
      3. 5.3 Image Programming in Detail
        1. 5.3.1  Step 1: Target Connection
        2. 5.3.2  Step 2: Target Detection
        3. 5.3.3  Step 3: MUX UART to the Network Processor
        4. 5.3.4  Step 4: Get SRAM Storage Info
        5. 5.3.5  Step 5: Raw Storage Erase – SRAM
        6. 5.3.6  Step 6: Raw Storage Write – SRAM
        7. 5.3.7  Step 7: Execute from RAM
        8. 5.3.8  Step 8: Get SFLASH Storage Info
        9. 5.3.9  Step 9: Raw Storage Erase – SFLASH
        10. 5.3.10 Step 10: Raw Storage Write – SFLASH
        11. 5.3.11 Step 11: FS Programming
        12. 5.3.12 Step 12: Device Reset
  2.   Revision History

General Message Format

Table 1 provides the general message format.

Table 1. General Message Format

Length (Big Endian) Checksum Opcode Data [optional]
2 bytes 1 byte 1 byte n bytes

The length includes all fields except the checksum (including the Length field itself), so in general:

Equation 1. Length = Length(Length) + Length(Opcode) + Length(Data) = 3 + Length(Data)

Checksum is a simple hexadecimal addition of the Opcode and Data fields. Checksum is then clipped to occupy the least significant byte only.

Table 2 lists all the commands and responses of the bootloader protocol.

Table 2. Bootloader Commands and Responses

Item Command or Response Link
Get Status Command Section 4.3.1
Get Storage List Command Section 4.3.2
Raw Storage Write Command Section 4.3.3
Get Version Information Command Section 4.3.4
Raw Storage Erase Command Section 4.3.5
Get Storage Info Command Section 4.3.6
Execute from RAM Command Section 4.3.7
Switch UART to APPS MCU Command Section 4.3.8
FS Programming Command Section 4.3.9
Ack Response Section 4.4.1
Nack Response Section 4.4.2
Last Status Response Section 4.4.3
Storage List Response Section 4.4.4
Storage Info Response Section 4.4.5
Version Info Response Section 4.4.6