TIDUEY4D August 2022 – December 2022
The steps to run the example are:
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.
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
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
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.
Once programming is complete, execution stops in the bankSelect() function. Click on Run.
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.
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.
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.