SPRU514Z July 2001 – October 2023 SM320F28335-EP
The ability to update system firmware while the system is running and begin using the new firmware once the update is complete is called Live Firmware Update (LFU). This is also described as a "warm start". The actual warm start is performed by a custom entry point function.
To support the creation of such entry points, the compiler provides the __TI_auto_init_warm() RTS function. This function reinitializes all global and static variables that have the update attribute and are therefore contained in the .TI.update section. See Section 6.15.4. The syntax for calling this function is as follows:
void __TI_auto_init_warm();
The __TI_auto_init_warm() routine does not need to be called if no global or static symbols use the update attribute. The custom entry point function is responsible for setting up the stack pointer (SP) and then calling main(). For information and examples of such functions, see the Live Firmware Update Reference Design with C2000 MCUs (TIDUEY4) design guide.
See Section 2.15 for more about LFU, which is supported for EABI only.