SPRACN1 May   2019 TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F2800152-Q1 , TMS320F2800153-Q1 , TMS320F2800154-Q1 , TMS320F2800155 , TMS320F2800155-Q1 , TMS320F2800156-Q1 , TMS320F2800157 , TMS320F2800157-Q1 , TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1

 

  1.   C2000 Software Controlled Firmware Update Process
    1.     Trademarks
    2. 1 Introduction
    3. 2 Configuring Custom Boot Mode
      1. 2.1 Custom Boot Pin Selection
      2. 2.2 Custom Boot Mode Definition
      3. 2.3 Writing the Values to User OTP
    4. 3 Hardware Modifications
    5. 4 Software Modifications
      1. 4.1 Application Software Modifications
      2. 4.2 Flash Kernel Modifications
      3. 4.3 Firmware Update Process
    6. 5 Flowchart
    7. 6 Summary
    8. 7 References

Introduction

C2000 devices support multiple boot modes say Serial Communications Interface (SCI), Universal Serial Bus (USB), Flash, Inter-Integrated Circuit (I2C), Serial Peripheral Interface (SPI), and so forth. In most of the applications the firmware code is stored in flash memory and executes from there. But when it comes to firmware update (where JTAG support is not available) it is typically transferred through one of the peripheral boot modes – SCI, USB, I2C, SPI and then updated on to flash. This process is done with the help of flash loaders (Serial, USB) provided with C2000Ware. But this involves manual intervention (or external chip) to change the boot mode from flash to SCI/USB and once the update is completed the boot mode has to be changed back to flash. This app note suggests a method to do firmware update without changing the boot mode pins via an external source. This is achieved by configuring custom boot modes in user OTP region and connecting resistor and capacitor components to the boot mode select GPIO.

The method described here is validated using SCI peripheral boot on TMS320F28004x device. There are three key aspects detailed in this report are:

  • Custom boot pin selection and boot mode definition in user OTP
  • Hardware considerations
  • Software considerations