Instructions for firmware microcontrollers EFR32MG21

Bootloader firmware

The bootloader is flashed via the JTAG interface. To flash the bootloader, you can use the utility Simplicity Commander

Version utilities for Linux: 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.4 GHz 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 file for flashing with the “Browse ...” button and flash the bootloader with the “Flash” button

Write the main firmware

If a bootloader is already written to the microcontroller, you can update the firmware using the utility Elelabs EZSP Firmware Update Utility

Utility installation:

git clone https://github.com/Elelabs/elelabs-zigbee-ezsp- utility.git
cd elelabs-zigbee-ezsp-utility
pip3 install -r requirements.txt

Put 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 the file name of your device.

Example of 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 ncp-uart-sw.gbl -p /dev/ttyUSB0

where ncp-uart-sw.gbl full path and file name with firmware.

Example 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, if you check the status of the board:

python3 Elelabs_EzspFwUtility.py probe -p /dev/ttyUSB0

Will output:

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