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
When a new command is sent to the device from the host utility, CPU2 receives and parses the command to determine the LFU mode. The LFU commands available are the following:
If the command matches the CPU2 LFU (COMMAND_LFU_CPU2) command, then the code branches to the CPU2 LFU function (LFUCPU2Flow() in sbl_command_flow.c) in the active CPU2 flash bank. Within this function, execution passes to the downloadBlock() function after erasing the inactive CPU2 flash bank. The firmware (in the appropriate hex format) is programmed and verified in the inactive flash bank. Then, CPU2 configures a Watchdog reset for CPU2. After the CPU2 resets, CPU1 handles the CPU2.NMIWDRSn NMI and boots CPU2 in FWU mode to execute the active firmware.
If the command matches the CPU1 LFU (COMMAND_LFU_CPU1) command, then the code branches to the CPU1 LFU function (LFUCPU1Flow() in sbl_command_flow.c) in the active CPU2 flash bank. Within this function, execution passes to the downloadBlock() function after erasing the inactive CPU1 flash bank. The firmware (in the appropriate hex format) is programmed and verified in the inactive CPU1 flash bank. Then, CPU2 issues an IPC command to configure a CPU1 Watchdog reset. Note that CPU2 also resets with a CPU1 Watchdog reset. Thus, after CPU1 boots in FWU mode to the active CPU1 flash bank, the CPU1 application must boot CPU2 in FWU mode to execute the active firmware.
If the command matches the CPU1 + CPU2 LFU (COMMAND_LFU_CPU1_CPU2) command, then the code branches to the CPU1 + CPU2 LFU function (LFUCPU1CPU2Flow() in sbl_command_flow.c) in the active CPU2 flash bank. Within this function, execution passes to the downloadBlock() function (called twice to program CPU1 and CPU2 flash) after erasing the inactive CPU1 and CPU2 flash banks. The firmware (in the appropriate hex format) is programmed and verified in the inactive CPU1 and CPU2 flash banks. Then, CPU2 issues an IPC command to configure a CPU1 Watchdog reset. Note that CPU2 also resets with a CPU1 Watchdog reset. Thus, after CPU1 boots in FWU mode to the active CPU1 flash bank, the CPU1 application must boot CPU2 in FWU mode to execute the active firmware.