en:efr32mg21_flash_manual  

Instructions for flashing EFR32MG21 microcontrollers

Bootloader Firmware

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

Write main firmware

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
en/efr32mg21_flash_manual.txt · Last modified: 2022/02/02 20:04 by Leonid Titov