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 and reset all firmware upgrade helper variables in the NWP.
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 (const 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.
1072
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h
sl_si91x_fwup_load#
sl_status_t sl_si91x_fwup_load (const 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.
1092
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 and reset all firmware upgrade helper variables in the NWP.
N/A |
This is a blocking API.
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.
1114
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.
1140
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.
1152
of file components/device/silabs/si91x/wireless/inc/sl_si91x_driver.h