SPRUIU8B August   2020  – March 2026 TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1

 

  1.   1
  2.   Live Firmware Update With Device Reset on C2000 MCUs
  3.   Trademarks
  4. 1Introduction
  5. 2Resources Required for LFU
  6. 3Memory Layout
  7. 4Static Code in LFU
  8. 5LED Example Application and LFU Flow
  9. 6Running the LED Example
    1. 6.1 Serial Flash Programmer Update
    2. 6.2 Programming Static Code – Loading via Code Composer Studio (CCS)
    3. 6.3 Live Firmware Update of Application
    4. 6.4 Limitations and Troubleshooting
  10. 7Extended Implementations
    1. 7.1 Live Firmware Update with Reset on F28P65x MCUs
      1. 7.1.1 F28P65x LFU Hardware Requirements
      2. 7.1.2 Flash Organization
      3. 7.1.3 FWU Boot Mode
      4. 7.1.4 LED Example Application
        1. 7.1.4.1 LFU Command Processing
      5. 7.1.5 Running the Example
        1. 7.1.5.1 Loading the Example
        2. 7.1.5.2 Combing CPU1 and CPU2 Firmware Images
        3. 7.1.5.3 LFU over MCAN Host Programmer
          1. 7.1.5.3.1 Compiling the Host Programmer
          2. 7.1.5.3.2 Using the Host Programmer
      6. 7.1.6 Restrictions
  11. 8Revision History
Using the Host Programmer

To perform an LFU, the host programmer must be used to send the application image over MCAN to the MCU, which then programs the received data into the inactive flash bank.

To use the host programmer, compile and run the generated can_lfu_host_programmer.exe. The following command line arguments are supported:

Table 7-3 LFU Host Programmer Arguments
Argument Description Requirement
-d The target device, currently the only valid option is "f28p65x" Required
-a1 The CPU1 application image to be programmed to the CPU1 inactive flash bank Required for CPU1-only LFU
(optional otherwise)
-a2 The CPU2 application image to be programmed to the CPU2 inactive flash bank Required for CPU2-only LFU
(optional otherwise)
-a3 The combined CPU1 and CPU2 image to be programmed to the CPU1 and CPU2 inactive flash banks Required for CPU1 + CPU2 Multi-LFU
(optional otherwise)

After starting the host programmer, the user is presented with several command options (described further in detail in Section 7.1.4.1):

  • CPU1 LFU: Perform a CPU1 LFU by downloading the application image provided by the -a1 command line argument, then reset CPU1 to activate the new firmware.
    • Note: Provided CPU1 reset is also a system reset, CPU2 also resets.
  • CPU2 LFU: Perform a CPU2 LFU by downloading the application image provided by the -a2 command line argument, then reset CPU2 to activate the new firmware.
    • Note: A CPU2 reset issues an NMI to CPU1. CPU1 must handle the NMI and bring CPU2 out of reset to activate the new CPU2 firmware, otherwise the entire system resets.
  • CPU1+2 Multi-LFU: Perform a CPU1 + CPU LFU by downloading the combined application image provided by the -a3 command line argument, then reset the system to activate the new firmware.
  • Done: Exit the host programmer application.

An example usage is shown in Figure 7-8:


 F28P65x LFU Example Usage
Figure 7-8 F28P65x LFU Example Usage