CC3000 Patch Programmer

From Texas Instruments Wiki
Jump to: navigation, search

Return to CC3000 Page

Introduction

  • Texas Instruments provides Patch Program Service Pack in order to distribute fixes to CC3000.
  • Patch Programmer utility burns TI released Service Pack into the CC3000 EEPROM using CC3000 Host Driver API's.
  • Patch Programmer utility is divided into two parts:
    1. Driver Patch Programmer - STEP 1.
    2. Firmware Patch Programmer - STEP 2.


NoteNote: It is extremely important to perform STEP 2 only after performing STEP 1.

Refer to the flashing guide for explicit steps which can be used to reprogram the EEPROM when a new service pack (SP) is released.

Prerequisites

Hardware

  1. 1x CC3000 Evaluation Module, orderable from TI eStore - Order CC3000 Evaluation Module
  2. 1x Host Platform
  3. 1x Access Point
  4. 1x iOS Device

Software

  1. Download the Patch Programmer Installer
  2. One of the following evaluation software is required in order to view and compile the patch programmer sources. Alternatively the binary can be used to burn directly to the board (Included in Patch Programmer download)
    • IAR Embedded Workbench v5.51.4 (MSP430).
    • CCSv5.3
  3. Download the latest Application support release: CC3000 Downloads
  4. Download the SmartConfig App: CC3000 Third Party


Description

The patch programmer utility is used to download the driver and the firmware to the CC3000 EEPROM. This is done in two separate parts respectively for the driver and the firmware patches.

NoteNote: It it highly important to start with the first part - Driver Patch Programmer. Then, move to the second part - Firmware Patch Programmer.

Refer to the flashing guide for explicit steps which can be used to reprogram the EEPROM when a new service pack (SP) is released.

Part 1: Driver Patch Programmer

The driver patch programmer, first performs reading of your EEPROM parameters - Radio Module parameters and MAC address.
  • This is done in order to restore those values after rewriting the EEPROM.
  • EEPROM reading is done in chunks of 8 bytes in order to fit the TINY Driver compilation option.

Then, writing the driver patches to the EEPROM is performed. EEPROM writing is done in chunks of 32 bytes in order to fit the TINY Driver compilation option. For completion indication, LED5 and LED8 are turned on.

Part 2: Firmware Patch Programmer

The firmware patch programmer, write the firmware patches to a specific place in the EEPROM.
  • Since the first part, the driver patch programmer, rewriting the EEPROM (done only in the first part) , it is highly important to run the patch programmer utility according to the correct order.


Running the patch programmer

There are two ways to burn the patches from the service pack to the EEPROM:

1. Running the Patch Programmer using the binary file attached - MSP flasher or LM flasher.

2. Running the Patch Programmer with IDE - IAR or CCS.

Running Patch Programmer Application with executable binary

Burning the patches to the module is also available with a binary file. In order to burn the patches using executable binary follow these instructions:


MSP-EXP430FR5739

Open Start -> All Programs -> CC3000 Patch Programmer -> MSP430FR5739 -> Download Driver Patches
LED5 and LED8 turn on upon successful completion.
If LED1 turns on as well, it indicates a missing MAC address.

Open Start -> All Programs -> CC3000 Patch Programmer -> MSP430FR5739 -> Download Firmware Patches 
LED5 and LED8 turn on upon successful completion.

Running Patch Burn Application with IDE

IAR

MSP-EXP430FR5739

Step 1

  • Open the Driver Patch Programmer workspace with IAR:
Opening the patch programmer IAR Embedded Workbench.png
  • Compile the Host Driver, SPI driver and then Patch Programmer.
  • Once compilation finish successfully, flash the program into MSP430 FRAM:
Flash the program into MSP430.png




  • Confirm completion when LED5+LED8 are turned on. If LED1 turns on as well, it indicates the MAC address is not programmed in EEPROM.



Step 2

  • Open the Firmware Programmer workspace with IAR.
  • Compile the Host Driver, SPI driver and then Patch Programmer.
  • Flash the program into MSP430 FRAM.
  • Confirm completion when LED5+LED8 are turned on with MSP430.

Each step can take ~10 seconds before the first LED appears. Please wait for completion. 



CCS

MSP-EXP430FR5739

Step 1

  • Open the Driver Patch Programmer workspace with CCS:
Opening the patch programmer CCS v5.png



  • Import Driver Patch Programmer project into the workspace:
Import the patch programmer CCS v5.png
 


  • Open the folder: ‘Driver Patch Programmer CCS’ and mark all three folders, then press finish:
Load the patch programmer CCS v5.png
 


  • Build CC3000HostDriver, CC3000 Spi and Patch Programmer according this order.
  • Flash the program into MSP430 FRAM:
Flash the patch programmer CCS v5.png
 
  • Confirm completion when LED5+LED8 are turned on. If LED1 turns on as well, it indicates the MAC address is not programmed in EEPROM.

Step 2

  • Open the Firmware Patch Programmer workspace with CCS.
  • Import Driver Patch Programmer project into the workspace.
  • Open the folder: ‘Driver Patch Programmer CCS’ and mark all three folders, then press finish.
  • Build CC3000HostDriver, CC3000 Spi and Patch Programmer according this order.
  • Flash the program into MSP430 FRAM.
  • Confirm completion when LED5+LED8 are turned on with MSP430.

Each step can take ~10 seconds before the first LED appears. Please wait for completion.


Verify Patch burn successfully

In Order to varify the patch burn successfully, one can read the EEPROM current burned service pack version by using this API:

nvmem_read_sp_version(unsigned char* patchVer);


Porting patch programmer utility to other MCU’s

  • Patch programmer utility holds the Host driver, SPI driver and the utility itself that is implemented at PatchProgrammer.c . 
  • Patch Programmer utility functionality combines out of init Driver and patch burning using CC3000 host driver API's.
  • The patch programmer utility is provided for MSP430FR5739.
  • If you are using a different MCU and wish to use the patch program utility, porting is needed for the SPI driver, board.c and board.h (Application files related to specific MCU setting).
  • Please note that both part needed porting - Driver Patch Programmer and Firmware Patch Programmer.

For more information please refer to: CC3000 Host Driver Porting Guide. 


Related WiKi pages

Archives

Refer to archives for access to previous versions of the CC3000 patch programmer guide.