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 firmware installation during firmware update process.
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 WiSeConnect Status Codes for details.
Note
The following table summarizes the support for different modes and network stacks:
Mode | Hosted Network Stack | Offload Network Stack |
---|---|---|
SoC | Supported | Supported |
NCP | Supported | Supported |
61
of file components/device/silabs/si91x/wireless/firmware_upgrade/firmware_upgradation.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 WiSeConnect Status Codes for details.
Note
The following table summarizes the support for different modes and network stacks:
Mode | Hosted Network Stack | Offload Network Stack |
---|---|---|
SoC | Supported | Supported |
NCP | Supported | Supported |
89
of file components/device/silabs/si91x/wireless/firmware_upgrade/firmware_upgradation.h
sl_si91x_fwup_abort#
sl_status_t sl_si91x_fwup_abort (void )
Abort firmware installation during firmware update process.
N/A |
This function aborts the firmware installation phase during the firmware update process. It effectively halts any installation during next bootup.
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 WiSeConnect Status Codes for details.
Note
Call this API before performing a soft or hard reset of the SiWx91x device in scenarios where the update needs to be canceled for any reason.
Calling the API would be ineffective, if only partial firmware chunks have been received and the update hasn't been marked as complete.
The following table summarizes the support for different modes and network stacks:
Mode | Hosted Network Stack | Offload Network Stack |
---|---|---|
SoC | Supported | Supported |
NCP | Supported | Supported |
120
of file components/device/silabs/si91x/wireless/firmware_upgrade/firmware_upgradation.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 WiSeConnect Status Codes for details.
Note
The following table summarizes the support for different modes and network stacks:
Mode | Hosted Network Stack | Offload Network Stack |
---|---|---|
SoC | Not-Supported | Not-Supported |
NCP | Supported | Supported |
155
of file components/device/silabs/si91x/wireless/firmware_upgrade/firmware_upgradation.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 WiSeConnect Status Codes for details.
Note
The following table summarizes the support for different modes and network stacks:
Mode | Hosted Network Stack | Offload Network Stack |
---|---|---|
SoC | Not-Supported | Not-Supported |
NCP | Supported | Supported |
177
of file components/device/silabs/si91x/wireless/firmware_upgrade/firmware_upgradation.h