Flash via AN945: EFM8 Factory Bootloader HID.
sudo apt install libusb-1.0-0-dev libudev-dev
python3 -m pip install efm8Communication is over USB-HID. This is implemented via the hidapi pthon wrapper for the hidapi native library.
On linux you can use udev to grant access:
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="10c4", MODE="0666"' | sudo tee /etc/udev/rules.d/70-silabs.rules
udevadm triggerefm8 firmware.hexAlso includes an example that resets a https://u2fzero.com/ into the bootloader and flashes in one command.
u2fzero firmware.hexAnd a way to (slowly) read the firmware back
efm8_read firmware.hex