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.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| const uint8_t * | [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 | 
sl_si91x_fwup_load#
sl_status_t sl_si91x_fwup_load (const uint8_t * content, uint16_t length)
Send the firmware file content.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| const uint8_t * | [in] | content | Pointer to the firmware file content. | 
| uint16_t | [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 | 
sl_si91x_fwup_abort#
sl_status_t sl_si91x_fwup_abort (void )
Abort firmware installation during firmware update process.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| void | 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 | 
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.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| uint8_t * | [in] | firmware_image | Pointer to the firmware image. | 
| uint32_t | [in] | fw_image_size | Size of the firmware image in bytes. | 
| uint8_t | [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 | 
sl_si91x_set_fast_fw_up#
sl_status_t sl_si91x_set_fast_fw_up (void )
Enable fast firmware upgrade mode.
| Type | Direction | Argument Name | Description | 
|---|---|---|---|
| void | 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 |