The bootloader is flashed via the JTAG interface. To flash the bootloader, you can use the utility Simplicity Comander
Linux version of the utility can be found here: SimplicityCommander-Linux.zip
Unzip the archive and run the utility. If the firmware procedure is performed using the Silicon Labs debug board, then information about it should be displayed in the “Kit” window, for example:
Kit: EFR32xG21 2.4GHz Mesh Network Kit WSTK6006 Rev. B04 Firmware version: 1v3p4b1088 Jlink serial number: ... VCOM port: ttyACM1
To flash the bootloader, open the “Flash” tab, select the desired image file for flashing with the “Browse …” button and flash the bootloader with the “Flash” button
If a bootloader is already written to the microcontroller, you can update the firmware using the utility Elelabs EZSP Firmware Update Utility
Installing the utility:
git clone https://github.com/elelabs/elelabs-zigbee-ezsp-utility.git cd elelabs-zigbee-ezsp-utility pip3 install -r requirements.txt
Switch the device to be flashed into bootloader mode (see description for the device). You can check the connection to the board using the command:
python3 Elelabs_EzspFwUtility.py probe -p /dev/ttyUSB0
Instead of “/dev/ttyUSB0” use the correct filename for your device.
Sample program output in bootloader mode:
2021/12/01 01:01:01 Elelabs_EzspFwUtility: EZSP adapter in bootloader mode detected: 2021/12/01 01:01:01 Elelabs_EzspFwUtility: Gecko Bootloader v1.12.00
The firmware update is performed by the command:
python3 Elelabs_EzspFwUtility.py flash -f ncp-uart-sw.gbl -p /dev/ttyUSB0
where ncp-uart-sw.gbl is the full path and file name of the firmware.
Sample program output:
2021/12/01 01:01:01 Elelabs_EzspFwUtility: EZSP adapter in bootloader mode detected: 2021/12/01 01:01:01 Elelabs_EzspFwUtility: Gecko Bootloader v1.12.00 2021/12/01 01:01:01 Elelabs_EzspFwUtility: Allready in bootloader mode. No need to restart 2021/12/01 01:01:02 Elelabs_EzspFwUtility: Successfully restarted into X-MODEM mode! Starting upload of the new firmware... DO NOT INTERRUPT(!) ..... 2021/12/01 01:01:52 Elelabs_EzspFwUtility: Firmware upload complete 2021/12/01 01:01:52 Elelabs_EzspFwUtility: Rebooting NCP... 2021/12/01 01:01:57 Elelabs_EzspFwUtility: Generic EZSP adapter detected: 2021/12/01 01:01:57 Elelabs_EzspFwUtility: Firmware: 6.9.2-0 2021/12/01 01:01:57 Elelabs_EzspFwUtility: EZSP v8
After successful firmware, you can check the status of the board:
python3 Elelabs_EzspFwUtility.py probe -p /dev/ttyUSB0
Normal output will show something like this:
2021/12/01 01:01:59 Elelabs_EzspFwUtility: Generic EZSP adapter detected: 2021/12/01 01:01:59 Elelabs_EzspFwUtility: Firmware: 6.9.2-0 2021/12/01 01:01:59 Elelabs_EzspFwUtility: EZSP v8