You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trezor-firmware/legacy/firmware/bl_data.py

20 lines
581 B

#!/usr/bin/env python
from hashlib import sha256
fn = "../bootloader/bootloader.bin"
data = open(fn, "rb").read()
if len(data) > 32768:
raise Exception("bootloader has to be smaller than 32768 bytes")
data += b"\x00" * (32768 - len(data))
h = sha256(sha256(data).digest()).digest()
bl_hash = ", ".join("0x%02x" % x for x in bytearray(h))
bl_data = ", ".join("0x%02x" % x for x in bytearray(data))
with open("bl_data.h", "wt") as f:
f.write("static const uint8_t bl_hash[32] = {%s};\n" % bl_hash)
f.write("static const uint8_t bl_data[32768] = {%s};\n" % bl_data)