TIDUEY4E August   2022  – November 2025

 

  1.   1
  2.   Description
  3.   Resources
  4.   Features
  5.   Applications
  6.   6
  7. 1System Description
    1. 1.1 Key System Specifications
  8. 2System Overview
    1. 2.1 Block Diagram
    2. 2.2 Design Considerations
      1. 2.2.1 Building Blocks
      2. 2.2.2 Flash Partitioning
      3. 2.2.3 LFU Switchover Concepts
      4. 2.2.4 Application LFU Flow
  9. 3Hardware, Software, Testing Requirements, and Test Results
    1. 3.1 Hardware Requirements
    2. 3.2 Software Requirements
      1. 3.2.1 Software Package Contents
      2. 3.2.2 Software Structure
    3. 3.3 Introduction to the TIDM-DC-DC-BUCK
    4. 3.4 Test Setup
      1. 3.4.1 Loading the Custom Bootloader and Application to Flash using CCS
    5. 3.5 Test Results
      1. 3.5.1 Running the LFU Demo with Control Loop Running on the CPU
      2. 3.5.2 Running the LFU Demo with Control Loop Running on the CLA
      3. 3.5.3 LFU Flow on the CPU
      4. 3.5.4 LFU Flow on the CLA
      5. 3.5.5 Limitations and Key Concerns
      6. 3.5.6 Preparing Firmware for LFU
      7. 3.5.7 LFU Compiler Support
      8. 3.5.8 Robustness
      9. 3.5.9 LFU Use-Cases
  10. 4FOTA Example
    1. 4.1 Abstract
    2. 4.2 Introduction
    3. 4.3 Hardware Requirements
    4. 4.4 Software Requirements
    5. 4.5 Running the example
  11. 5Design and Documentation Support
    1. 5.1 Software Files
    2. 5.2 Documentation Support
    3. 5.3 Support Resources
    4. 5.4 Trademarks
  12. 6Terminology
  13. 7About the Author
  14. 8Revision History

Application LFU Flow

Figure 2-3 shows the LFU software flow diagram. After a device reset, execution always begins in the bank selection logic, which determines which Flash bank to execute from based on the firmware revision field, and pass control to the corresponding application. After necessary system initialization and enabling of interrupts, a real-time control loop executes within an ISR corresponding to a specific interrupt vector. During the idle time between ISRs, a background loop consisting of lower priority functions executes. If the host issues an LFU command, it triggers an SCI Receive interrupt in the MCU, and a corresponding ISR (lower in priority than the control-loop ISR) executes and identifies a host command request.

In the background loop, the command is parsed, the LFU request is identified, control passes to the custom bootloader i.e. SCI Flash kernel, which downloads the new application image from the host and programs the appropriate Flash bank. If the application on Flash bank 1 is running, then control passes to the SCI Flash Kernel on bank 1, so as to program bank 0. Once the new application image is in Flash, the process of switching over to new firmware can begin.

TIDM-02011 LFU Software FlowchartFigure 2-3 LFU Software Flowchart