Warning Cookies are used on this site to provide the best user experience. If you continue, we assume that you agree to receive cookies from this site. OK

Instructions for firmware microcontrollers EFR32MG21

Bootloader Firmware

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

Linux version of the utility: 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 file for flashing with the "Browse ..." button and flash the bootloader with the "Flash" button

Write main firmware

If a bootloader is already written to the microcontroller, you can update the firmware using the 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, 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