1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-22 06:18:07 +00:00
trezor-firmware/firmware/bl_data.py
2018-04-02 21:47:15 +02:00

20 lines
581 B
Python
Executable File

#!/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)