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

Step 3: MUX UART to the Network Processor

If the device is a CC3220, it is required to MUX the UART lines from the internal application processor (ARM®Cortex®-M4) to the network processor.

The procedure for switching UART lines in CC3220 case follows:

  1. The main processor sends the Switch UART to APPS MCU command. The user must provide the delay until the network processor is ready. One second is sufficient and should be used. During this time, the UART lines are switched, and the network processor is rebooted into bootloader mode. The reset is internal so the user does not need to externally apply it.
  2. The CC3220 device responds with an Ack. This is the command response.
  3. The main processor should send a break signal (sending continuous Spacing values [no Start or Stop bits]) on the CC3220 UART RX line. The network processor must sense this break signal during power up.
  4. Because there are cases in which the break signal is missed or the Ack packet is being missed, TI recommends sending the break signal up to four times. Follow the following pseudocode for details.
  5. The network processor responds with an Ack. This response is an indication that the network processor sensed the break signal and entered bootloader mode.
  6. The main processor deasserts the break signal.
  7. For i=1..4 set BREAK sleep 100mSec read ACK unset BREAK If successful break Else continue

Figure 5 shows the Switch UART to APPS MCU command and the Ack command response.

switch-uart-lines-zoom-in.gifFigure 5. Switch UART Lines to APPS MCU Command

Figure 6 shows the BREAK assertion and deassertion followed by an Ack.

switch-uart-lines-zoom-out.gifFigure 6. Switch UART to APPS MCU Procedure