Tool to flash firmware onto any Silicon Labs radio running EmberZNet, CPC multi-PAN, or just a bare Gecko Bootloader
Project description
Universal Silicon Labs Flasher
Automatically communicates with radios over CPC or EZSP to enter the bootloader and then flashes a firmware image with XMODEM.
Installation
$ pip install universal-silabs-flasher
Flashing firmware
For safety, firmware GBL image files are validated and their checksums verified both before sending, and by the device bootloader itself.
In addition to validating the firmware image, the version number of the firmware image currently running on the device is read.
- If the provided firmware image type does not match the running image type, the firmware will not be flashed. Cross-flashing can be enabled with
--allow-cross-flashing
. - If the provided firmware image is a lower version than the currently running image, the downgrade will not be allowed. Downgrades can be enabled with
--allow-downgrades
. - If the provided firmware image already matches the version running on the device, the command will exit early. Firmware re-flashing can be enabled with
--allow-reflash-same-version
.
Yellow
The Yellow's bootloader can always be activated with the --yellow-gpio-reset
flag:
$ universal-silabs-flasher \
--device /dev/ttyAMA1 \
--bootloader-baudrate 115200 \
--baudrate 115200 \
flash \
--firmware NabuCasa_RCP_v4.1.3_rcp-uart-hw-802154_230400.gbl \
--yellow-gpio-reset
SkyConnect
The SkyConnect will be rebooted into its bootloader from the running application: either EmberZNet or CPC.
$ universal-silabs-flasher \
--device /dev/cu.SLAB_USBtoUART \
--bootloader-baudrate 115200 \
--baudrate 115200 \
flash \
--firmware NabuCasa_SkyConnect_EZSP_v7.1.3.0_ncp-uart-hw_115200.gbl
Writing IEEE address
Ensure a target device running EmberZNet firmware has the correct node IEEE address:
$ universal-silabs-flasher \
--device /dev/cu.SLAB_USBtoUART \
write-ieee \
--ieee 00:3c:84:ff:fe:92:bb:2c
The IEEE address can also be specified without colons: --ieee 003c84fffe92bb2c
.
If the current device's IEEE address already matches the provided one, the command will not write it unnecesarily.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file universal-silabs-flasher-0.0.9.tar.gz
.
File metadata
- Download URL: universal-silabs-flasher-0.0.9.tar.gz
- Upload date:
- Size: 32.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52aacf7e00d59309d44cf0e536c8862458969f0d7ed8c675cc5884f4d153ce59 |
|
MD5 | e184cafe31e7a06158203a4549f1c03c |
|
BLAKE2b-256 | 517adfb609cf4da7d1b7a38a26a59b4306737c2c3baa5472afa708c5c7c6891a |
File details
Details for the file universal_silabs_flasher-0.0.9-py3-none-any.whl
.
File metadata
- Download URL: universal_silabs_flasher-0.0.9-py3-none-any.whl
- Upload date:
- Size: 35.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb752e08cd4d00483aa17ba2751cbae6a4f7b5dfd042acd54fce86f281c6d12c |
|
MD5 | 9a28c63e1776448040b9bf69ef11383b |
|
BLAKE2b-256 | e4fb172884eed8e57222dc747043f4f1aeb9366c030e8e2db887f71c2e9ee7f9 |