Integrating firmware update in your application
Integrating firmware update platform hooks with your application
The FOTA library offers platform hook callbacks that you can use to integrate platform-specific code during the FOTA flow; for example, if Client Lite shares a resource with another component of the system.
By default, FOTA provides an empty implementation for these hooks. You can override these hooks by injecting the FOTA_CUSTOM_PLATFORM
macro to the build and implementing all of the callback functions listed in fota/fota_platform.h:
-
fota_platform_init_hook()
- Platform init hook, which the client calls when it initializes the FOTA module.The client uses
fota_platform_init_hook()
to register custom components as described in the Implementing component update. -
fota_platform_start_update_hook()
- Platform start update hook, which the client calls when the update begins. -
fota_platform_finish_update_hook()
- Platform finish update hook, which the client calls when the update has finished. -
fota_platform_abort_update_hook()
- Platform start update hook, which the client calls if an update is aborted.
The red arrows show the application callback sequence in a good-path scenario in which the application authorizes all of the requests by calling fota_app_authorize_update()
). Note that the application callbacks call fota_app_authorize_update()
out of callback context to illustrate that the application can call these APIs from some event after handling ongoing business logic tasks.