efm8load.py and hex2boot.py - official EFM8 bootloader conversion and download utilities with all source codes collected
EFM8 Factory Bootloader package AN945SW contains all EFM8 bootloader images with UART, USB or SMBus interface. And various utilities such as:
- hex2boot : Hex to Hex to EFM8 Bootload Record conversion utility
- efm8load : EFM8 bootloader download utility
However, if run the efm8load.py on Linux directly, it will throw some errors because hidport.py or smbport.py need to load 'libslabhiddevice.so.1.0' and 'libslabhiddevice.so.1.0' not provided in same package. And this libs and source codes provided in USBXpressHostSDK for Linux.
This repo collected all related source codes together and provide a Makefile to build them.
Official source package from Silicon Labs did not provide a LICENSE file. since the sources contains 'hidapi.h' and 'hid-libusb.c' from hidapi, that means the source codes opened by Silicon Labs should follow same license of hidapi project.
hex2boot.py follows intelhex license (BSD license):

efm8load.py follows pyserial license (BSD license):

$ git clone https://github.com/cjacker/efm8load.git
$ cd efm8load
$ make
$ make install DESTDIR= PREFIX=/usr
$ hex2boot filename.hex -o filename.efm8
$ efm8load -p /dev/ttyUSB0 -t filename.efm8
Change the /dev/ttyUSB0 to match you device.