Firmware Update From Host#

This section provides a reference to the APIs used to perform firmware updates from the host.

Functions#

sl_status_t
sl_si91x_fwup_start(const uint8_t *rps_header)

Send the RPS header content of the firmware file.

sl_status_t
sl_si91x_fwup_load(const uint8_t *content, uint16_t length)

Send the firmware file content.

sl_status_t

Abort firmware installation during firmware update process.

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.

sl_status_t

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.

Parameters
[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

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


Definition at line 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.

Parameters
[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

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


Definition at line 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.

Parameters
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.

Returns

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


Definition at line 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.

Parameters
[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:

  • 0: Middle of the file

  • 1: Start of the file

  • 2: End of 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

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


Definition at line 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.

Parameters
N/A

This function enables the fast firmware upgrade mode on the Si91x device. It optimizes the firmware upgrade process for speed.

Returns

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


Definition at line 177 of file components/device/silabs/si91x/wireless/firmware_upgrade/firmware_upgradation.h