Application OTA DFU#

Component that provides over-the-air (OTA) device firmware update (DFU) functionality in user application during runtime. No need to enter a specialized OTA state to update, and no AppLoader utility required. No code is required from user to enable this component.

Modules#

sl_bt_app_ota_dfu_state_t

sl_bt_app_ota_dfu_btl_storage_info_t

sl_bt_app_ota_dfu_download_package_t

sl_bt_app_ota_dfu_msg_t

Enumerations#

enum
SL_BT_APP_OTA_DFU_UNINIT = 0
SL_BT_APP_OTA_DFU_INIT
SL_BT_APP_OTA_DFU_READ_FLASH
SL_BT_APP_OTA_DFU_ERASE
SL_BT_APP_OTA_DFU_READY
SL_BT_APP_OTA_DFU_DISCONNECT
SL_BT_APP_OTA_DFU_DOWNLOAD_BEGIN
SL_BT_APP_OTA_DFU_DOWNLOAD_END
SL_BT_APP_OTA_DFU_VERIFY
SL_BT_APP_OTA_DFU_FINALIZE
SL_BT_APP_OTA_DFU_WAIT_FOR_REBOOT
SL_BT_APP_OTA_DFU_ERROR
}
enum
SL_BT_APP_OTA_DFU_NO_ERROR = 0
SL_BT_APP_OTA_DFU_ERR_UNEXPECTED_TRANSFER
SL_BT_APP_OTA_DFU_ERR_UNEXPECTED_CLOSE
SL_BT_APP_OTA_DFU_ERR_BOOTLOADER_API
SL_BT_APP_OTA_DFU_ERR_STORAGE_FULL
}
enum
SL_BT_APP_OTA_DFU_EVT_BTL_STORAGE_INFO_ID = 0u
SL_BT_APP_OTA_DFU_EVT_STATE_CHANGE_ID
SL_BT_APP_OTA_DFU_EVT_DOWNLOAD_PACKET_ID
SL_BT_APP_OTA_DFU_EVT_VERIFY_IMAGE_ID
}

Functions#

sl_power_manager_on_isr_exit_t
void
sl_bt_app_ota_dfu_on_status_event(sl_bt_app_ota_dfu_status_evt_t *evt)

Enumeration Documentation#

sl_bt_app_ota_dfu_status_t#

sl_bt_app_ota_dfu_status_t
Enumerator
SL_BT_APP_OTA_DFU_UNINIT
SL_BT_APP_OTA_DFU_INIT
SL_BT_APP_OTA_DFU_READ_FLASH
SL_BT_APP_OTA_DFU_ERASE
SL_BT_APP_OTA_DFU_READY
SL_BT_APP_OTA_DFU_DISCONNECT
SL_BT_APP_OTA_DFU_DOWNLOAD_BEGIN
SL_BT_APP_OTA_DFU_DOWNLOAD_END
SL_BT_APP_OTA_DFU_VERIFY
SL_BT_APP_OTA_DFU_FINALIZE
SL_BT_APP_OTA_DFU_WAIT_FOR_REBOOT
SL_BT_APP_OTA_DFU_ERROR

Definition at line 51 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h

sl_bt_app_ota_dfu_error_t#

sl_bt_app_ota_dfu_error_t
Enumerator
SL_BT_APP_OTA_DFU_NO_ERROR
SL_BT_APP_OTA_DFU_ERR_UNEXPECTED_TRANSFER
SL_BT_APP_OTA_DFU_ERR_UNEXPECTED_CLOSE
SL_BT_APP_OTA_DFU_ERR_BOOTLOADER_API
SL_BT_APP_OTA_DFU_ERR_STORAGE_FULL

Definition at line 67 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h

sl_bt_app_ota_dfu_event_id_t#

sl_bt_app_ota_dfu_event_id_t
Enumerator
SL_BT_APP_OTA_DFU_EVT_BTL_STORAGE_INFO_ID
SL_BT_APP_OTA_DFU_EVT_STATE_CHANGE_ID
SL_BT_APP_OTA_DFU_EVT_DOWNLOAD_PACKET_ID
SL_BT_APP_OTA_DFU_EVT_VERIFY_IMAGE_ID

Definition at line 76 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h

Typedef Documentation#

sl_bt_app_ota_dfu_status_evt_t#

typedef struct sl_bt_app_ota_dfu_msg_t sl_bt_app_ota_dfu_status_evt_t

Definition at line 126 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h

Function Documentation#

sl_bt_app_ota_dfu_init#

void sl_bt_app_ota_dfu_init (void )
Parameters
N/A

Application OTA DFU initialization.


Definition at line 131 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h

sl_bt_app_ota_dfu_is_ok_to_sleep#

bool sl_bt_app_ota_dfu_is_ok_to_sleep (void )
Parameters
N/A

Function to check if it is okay if the device goes to sleep now.


Definition at line 136 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h

sl_bt_app_ota_dfu_sleep_on_isr_exit#

sl_power_manager_on_isr_exit_t sl_bt_app_ota_dfu_sleep_on_isr_exit (void )
Parameters
N/A

Routine to notify power manager handler.


Definition at line 141 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h

sl_bt_app_ota_dfu_restart_progress#

void sl_bt_app_ota_dfu_restart_progress (void )
Parameters
N/A

Function to restart application OTA DFU progress without rebooting in case of any error.


Definition at line 147 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h

sl_bt_app_ota_dfu_reboot#

void sl_bt_app_ota_dfu_reboot (void )
Parameters
N/A

Function to reboot only when the application OTA DFU process is already in the SL_BT_APP_OTA_DFU_WAIT_FOR_REBOOT state.


Definition at line 153 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h

sl_bt_app_ota_dfu_on_status_event#

void sl_bt_app_ota_dfu_on_status_event (sl_bt_app_ota_dfu_status_evt_t * evt)
Parameters
[in]evt

Actual app ota dfu event address.

Function to indicate Application OTA DFU status and in case of error the error codes for assertion. Note

  • To be implemented in user code.


Definition at line 161 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h

Macro Definition Documentation#

SL_BT_APP_OTA_DFU_USED_SLOT#

#define SL_BT_APP_OTA_DFU_USED_SLOT
Value:
0u

Definition at line 43 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h

SL_BT_APP_OTA_DFU_READ_STORAGE_CONTEXT_SIZE#

#define SL_BT_APP_OTA_DFU_READ_STORAGE_CONTEXT_SIZE
Value:
256u

Definition at line 46 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h

SL_BT_APP_OTA_DFU_EMPTY_FLASH_CONTENT#

#define SL_BT_APP_OTA_DFU_EMPTY_FLASH_CONTENT
Value:
0xFFFFFFFFu

Definition at line 47 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h

SL_BT_APP_OTA_DFU_VERIFICATION_BLOCK_SIZE#

#define SL_BT_APP_OTA_DFU_VERIFICATION_BLOCK_SIZE
Value:
128u

Definition at line 48 of file common/app_ota_dfu/sl_bt_app_ota_dfu.h