efm8¶
Flash via AN945: EFM8 Factory Bootloader HID.
usage: efm8 [-h] [-p PRODUCT] [-s SERIAL] firmware
-
firmware¶ Intel Hex format file to flash
-
-h,--help¶ show this help message and exit
-
-p<product>,--product<product>¶ USB Product ID of device to program
-
-s<serial>,--serial<serial>¶ Serial number of device to program
Flash via AN945: EFM8 Factory Bootloader HID.
-
exception
efm8.BadChecksum¶ Checksum mismatch.
-
exception
efm8.BadResponse¶ Command not confirmed.
-
exception
efm8.Unsupported¶ Input file not understood.
-
efm8.crc(data)¶ CITT-16, XModem.
-
efm8.create_frame(cmd, data)¶ Bootloader frames start with ‘$’, 1 byte length, 1 byte command, x bytes data.
-
efm8.flash(manufacturer, product, serial, frames)¶ Send bootloader frames over HID, and check confirmations.
-
efm8.read_flash(manufacturer, product, serial, length)¶ Exploit CRC to read back firmware.
-
efm8.read_intel_hex(filename)¶ Read simple Intel format Hex files into byte array.
-
efm8.to_frames(data, checksum=True, run=True)¶ Convert firmware byte array into sequence of bootloader frames.
-
efm8.toaddr(addr)¶ Split a 16bit address into two bytes (dosn’t check it is a 16bit address ;-).
-
efm8.twos_complement(input_value, num_bits=8)¶ Calculate unsigned int which binary matches the two’s complement of the input.
-
efm8.write_hex(buf, filename)¶ Write an Intel Format Hex file.