TIDUEY4D August   2022  – December 2022

 

  1.   Description
  2.   Resources
  3.   Features
  4.   Applications
  5.   5
  6. 1System Description
    1. 1.1 Key System Specifications
  7. 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
  8. 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 Assumptions
      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
  9. 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
  10. 5Design and Documentation Support
    1. 5.1 Software Files
    2. 5.2 Documentation Support
    3. 5.3 Support Resources
    4. 5.4 Trademarks
  11. 6Terminology
  12. 7About the Author
  13. 8Revision History

Running the example

The steps to run the example are:

  1. Launch CCS, import the following projects available within the tidm_02011 directory - buck_f28003x_lfu, and flash_kernel_ex3_sci_flash_kernel. Build the BANK0_LDFU_BANK1TO0COPY build configuration of the flash_kernel_ex3_sci_flash_kernel project.

  2. Build the BANK0_FLASH_BANK10COPY build configuration of the buck_F28003x_lfu project, with BANK0_V1 declared as a predefined symbol. Rename the built .txt file from buck_F28003x_lfuBANK0FLASH.txt to buck_F28003x_lfuBANK0FLASH_v1.txt and copy it to C2000Ware_DigitalPower_SDK_xx_xx_xx\c2000ware\utilities\flash_programmers\serial_flash_programmer

  3. Build the BANK0_FLASH_BANK10COPY build configuration of the buck_F28003x_lfu project, with BANK0_V2 declared as a predefined symbol. Rename the built .txt file from buck_F28003x_lfuBANK0FLASH.txt to buck_F28003x_lfuBANK0FLASH_v2.txt and copy it to C2000Ware_DigitalPower_SDK_xx_xx_xx\c2000ware\utilities\flash_programmers\serial_flash_programmer

  4. Launch a target configuration file (which erases all of Flash) for F28003x, connect to the F28003x target on the ControlCARD, and program flash_kernel_ex3_sci_flash_kernel.out to the device. This places the SCI Flash kernel i.e. LFU bootloader in Sectors 0 and 1 of Flash Bank0.

  5. Once programming is complete, execution stops in the bankSelect() function. Click on Run.

  6. Open a Windows command prompt, and change directory to the serial_flash_programmer directory within the DigitalPower SDK. Then issue the usual LFU command to program buck_F28003x_lfuBANK0FLASH_v1.txt to the target, which will program the application firmware executable to Bank1, then copy it from Bank1 to Bank0, then branch to the application entry point in Bank0 and begin execution. LED D2 on the top right corner of the ControlCARD will begin blinking. Disconnect CCS. This completes the “Production programming” steps.

  7. To test LFU/FOTA updates in the field, repeat above step with the usual LFU command to program buck_F28003x_lfuBANK0FLASH_v2.txt to the target, which will program the application firmware executable to Bank1, then copy it from Bank1 to Bank0, then branch to the application entry point in Bank0 and begin execution.

  8. With _v1, LED D2 blinks at a lower frequency than with _v2. Since the LED blinking occurs within an ISR, it continues even during the LFU process. LED blinking stops briefly when the Flash Bank1 to Bank0 copy and initialization of new code occurs, which lasts about 1 second.