Introduction#
The SiWG917 includes two processors: Network Wireless Processors (NWP) and an ARM® Cortex® M4 Processor. All the networking and wireless stacks run on independent threads of the NWP.
In addition, in adherence to the Trusted Execution Environment architecture, the NWP subsystem also acts as the secure processing domain and takes care of secure boot and secure firmware update. The Cortex-M4 is dedicated to peripheral and application-related processing.
Firmware is the software that is embedded into a hardware device. It contains a set of commands that control the behavior of NWP. Whenever a new firmware version is available, it is recommended that you update your devices to the latest version. The complete details about the latest firmware will be available in the Release Notes (shared as part of release package), which will help you to decide whether to update to the new firmware or not. From factory all the parts are shipped without firmware, you need to take the latest NWP firmware and update it on the SiWG917 device. There are two firmware images present in the SiWG917 WiSeConnect release - Lite (For 4 MB flash OPNs) and Standard (For 8 MB Flash OPNs).
The firmware in the SiWG917 device can be updated using the following mechanisms:
Firmware update via Over-The-Air (OTA) - In this mechanism, the firmware in the device can be updated by the following methods:
HTTP/S: The firmware is updated by downloading the firmware file from a remote HTTP/S or cloud server over Wi-Fi. The firmware file is directly downloaded to NWP flash location.
M4 as Host: Using host interfaces – SPI/UART/SDIO to access external storage or a remote TCP server via Wi-Fi or BLE, the firmware is reaching in chunks to M4. The user can choose to send the firmware to NWP Bootloader for upgrade or save in the external flash as per their requirements.
Firmware update via Bootloader - In this mechanism, the firmware in the device can be updated by the following methods.
Kermit: Firmware is updated using the Kermit protocol in a serial terminal like Tera Term running in a Windows/Linux PC. The connected to the device through UART interface in ISP mode.
Simplicity Commander Tool/ Command Line Interface (CLI): Using the Simplicity Commander tool or by using the CLI commands, the firmware is updated.
External Host Interfaces ― SPI/SDIO (ISP Mode): The firmware is updated using the SPI/ SDIO host interfaces while keeping the SiWG917 in ISP mode.
Note: SiWG917 has both the Secure and Non-Secure Firmware update options. The above mechanisms are the same for both secure and non-secure options, except that the firmware does security-related integrity checks before loading the device with the new firmware.