Firmware Update From Host#
This section provides a reference to the APIs used to perform firmware updates from the host.
Functions#
Send the RPS header content of the firmware file.
Send the firmware file content.
Abort the firmware update process on the SiWx91x device.
Flash firmware to the Wi-Fi module via the bootloader.
Enable fast firmware upgrade mode.
Function Documentation#
sl_si91x_fwup_start#
sl_status_t sl_si91x_fwup_start (uint8_t * rps_header)
Send the RPS header content of the firmware file.
[in] | rps_header | Pointer to the RPS header content. |
This function sends the RPS (Remote Programming Service) header content of the firmware file to the Si91x device.
This is a blocking API.
Returns
sl_status_t. See Status Codes and Additional Status Codes for details.
1008
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_fwup_load#
sl_status_t sl_si91x_fwup_load (uint8_t * content, uint16_t length)
Send the firmware file content.
[in] | content | Pointer to the firmware file content. |
[in] | length | Length of the content in bytes. |
This function sends the content of the firmware file to the Si91x device.
This is a blocking API.
Returns
sl_status_t. See Status Codes and Additional Status Codes for details.
1028
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_fwup_abort#
sl_status_t sl_si91x_fwup_abort (void )
Abort the firmware update process on the SiWx91x device.
N/A |
This function aborts the ongoing firmware update process on the SiWx91x device. It is a blocking API and will not return until the process is aborted.
This is a blocking API.
Pre-conditions:
sl_si91x_fwup_load should be called before this API.
Returns
sl_status_t. See Status Codes and Additional Status Codes for details.
Note
After successful completion of firmware loading using the sl_si91x_fwup_load API, the user can call this abort API.
Ensure to call this abort API before performing a soft or hard reset of the SiWx91x device.
1050
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_bl_upgrade_firmware#
sl_status_t sl_si91x_bl_upgrade_firmware (uint8_t * firmware_image, uint32_t fw_image_size, uint8_t flags)
Flash firmware to the Wi-Fi module via the bootloader.
[in] | firmware_image | Pointer to the firmware image. |
[in] | fw_image_size | Size of the firmware image in bytes. |
[in] | flags | Flags indicating the chunk position in the file:
|
This function flashes the firmware to the Wi-Fi module using the bootloader. The firmware image, its size, and the position flags are provided as parameters.
This is a blocking API.
Returns
sl_status_t. See Status Codes and Additional Status Codes for details.
1076
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_set_fast_fw_up#
sl_status_t sl_si91x_set_fast_fw_up (void )
Enable fast firmware upgrade mode.
N/A |
This function enables the fast firmware upgrade mode on the Si91x device. It optimizes the firmware upgrade process for speed.
Returns
sl_status_t. See Status Codes and Additional Status Codes for details.
1088
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h