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