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

Software Package Contents

Table 3-1 lists the key target executable files that will be needed to run the LFU examples. The locations of the projects, the specific project build configurations that need to be used to build the output executables, and the locations where the output executables need to be placed are also mentioned.

Table 3-1 Software Package Contents of F28004x Example
FILE/FOLDER NAMECONTROL LOOP RUNS ON?PROJECT BUILD CONFIGURATIONDESCRIPTION
flashapi_ex2_sci_kernel.outNABANK0_LDFU_ROMOutput file after building the flashapi_ex2_sci_kernel project, which is the Custom Bootloader (the project will be located at <C2000Ware_DigitalPower_SDK_path>\solutions\tidm_02011\f28004x\examples\flash\CCS)
flashapi_ex2_sci_kernel.out.NABANK1_LDFU_ROMSame as above
buck_F28004x_lfuBANK0FLASH.txtCPUBANK0_FLASHOutput file post conversion to .txt of the buck_F28004x_lfu project, which is the Application (the project will be located at <C2000Ware_DigitalPower_SDK_path>\solutions\tidm_02011\f28004x\ccs)
Project is built with compiler pre-defined symbol BUCK_CONTROL_RUNNING_ON_CPU Copy the generated .txt file to <C2000Ware_DigitalPower_SDK_path>\c2000ware\utilities\flash_programmers\serial_flash_programmer
buck_F28004x_lfuBANK1FLASH.txtCPUBANK1_FLASHSame as above
buck_F28004x_lfu_controlloopBANK0FLASH.txtCPUBANK0_FLASHOutput file post conversion to .txt of the buck_F28004x_lfu_controlloop project, which is the Application (the project will be located at <C2000Ware_DigitalPower_SDK_path>\solutions\tidm_02011\f28004x\ccs)
Project is built with compiler pre-defined symbol BUCK_CONTROL_RUNNING_ON_CPU Copy the generated .txt file to <C2000Ware_DigitalPower_SDK_path>\c2000ware\utilities\flash_programmers\serial_flash_programmer
buck_F28004x_lfu_controlloopBANK1FLASH.txtCPUBANK1_FLASHSame as above
buck_F28004x_lfuBANK0FLASH_cla.txtCLABANK0_FLASHOutput file post conversion to .txt of the buck_F28004x_lfu project, which is the Application (the project will be located at <C2000Ware_DigitalPower_SDK_path>\solutions\tidm_02011\f28004x\ccs)
Project is built with compiler pre-defined symbol BUCK_CONTROL_RUNNING_ON_CLA. Resulting .txt is renamed to include an “_cla” Copy the generated .txt file to <C2000Ware_DigitalPower_SDK_path>\c2000ware\utilities\flash_programmers\serial_flash_programmer
buck_F28004x_lfuBANK1FLASH_cla.txtCLABANK1_FLASHSame as above
buck_F28004x_lfu_controlloopBANK0FLASH_cla.txtCLABANK0_FLASHOutput file post conversion to .txt of the buck_F28004x_lfu_controlloop project, which is the Application (the project will be located at <C2000Ware_DigitalPower_SDK_path>\solutions\tidm_02011\f28004x\ccs)
Project is built with compiler pre-defined symbol BUCK_CONTROL_RUNNING_ON_CLA. Resulting .txt is renamed to include an “_cla” Copy the generated .txt file to <C2000Ware_DigitalPower_SDK_path>\c2000ware\utilities\flash_programmers\serial_flash_programmer
buck_F28004x_lfu_controlloopBANK1FLASH_cla.txtCLABANK1_FLASHSame as above
serial_flash_programmer_appln.exe.exe-This is the host side serial flash programmer executable for loading the Application to Flash on the target device

It is present at

<C2000Ware_DigitalPower_SDK_path>\c2000ware\utilities\flash_programmers\serial_flash_programmer

Table 3-2 Software Package Contents of F28003x Example
FILE/FOLDER NAME CONTROL LOOP RUNS ON? PROJECT BUILD CONFIGURATION DESCRIPTION
flash_kernel_ex3_sci_flash_kernel.out NA BANK0_LDFU Output file after building the flash_kernel_ex3_sci_flash_kernel project, which is the Custom Bootloader (the project will be located at <C2000Ware_DigitalPower_SDK_path>\solutions\tidm_02011\f28003x\examples\flash\CCS)
flash_kernel_ex3_sci_flash_kernel.out .NA BANK1_LDFU Same as above
buck_F28003x_lfuBANK0FLASH.txt CPU BANK0_FLASH Output file post conversion to .txt of the buck_F28003x_lfu project, which is the Application (the project will be located at <C2000Ware_DigitalPower_SDK_path>\solutions\tidm_02011\f28003x\ccs)
Project is built with compiler pre-defined symbol BUCK_CONTROL_RUNNING_ON_CPU Copy the generated .txt file to <C2000Ware_DigitalPower_SDK_path>\c2000ware\utilities\flash_programmers\serial_flash_programmer
buck_F28003x_lfuBANK1FLASH.txt CPU BANK1_FLASH Same as above
buck_F28003x_lfuBANK0FLASH_cla.txt CLA BANK0_FLASH Output file post conversion to .txt of the buck_F28003x_lfu project, which is the Application (the project will be located at <C2000Ware_DigitalPower_SDK_path>\solutions\tidm_02011\f28003x\ccs)
Project is built with compiler pre-defined symbol BUCK_CONTROL_RUNNING_ON_CLA. Resulting .txt is renamed to include an “_cla” Copy the generated .txt file to <C2000Ware_DigitalPower_SDK_path>\c2000ware\utilities\flash_programmers\serial_flash_programmer
buck_F28003x_lfuBANK1FLASH_cla.txt CLA BANK1_FLASH Same as above
serial_flash_programmer_appln.exe .exe - This is the host side serial flash programmer executable for loading the Application to Flash on the target device

It is present at<C2000Ware_DigitalPower_SDK_path>\c2000ware\utilities\flash_programmers\serial_flash_programmer

Note:

The buck_F28003x_lfu project also contains a BANK0_FLASH_BANK10COPY build configuration, which is an alternate configuration where the application is always built to be Loaded to Bank1 and Run from Bank0. In this configuration, BANK1_TO_0COPY is a pre-defined symbol which allows the modified functionality to be implemented.

Similarly, the flash_kernel_ex3_sci_flash_kernel project also contains a BANK0_LDFU_BANK1TO0COPY build configuration, which is an alternate configuration that supports the use-case above i.e. where the application is always built to be Loaded to Bank1 and Run from Bank0. In this configuration, BANK1_TO_0COPY is a pre-defined symbol which allows the modified functionality to be implemented.

This allows the developer to build an image for LFU without having to know which Bank the image is going to reside in. The downside to this is the Bank1 to Bank0 copy, which needs to occur before activating the new image. This copy is done by the Flash kernel. This takes up time, during which the application cannot be running.