INNER CODE UNIT · Python
make_header
wolfSSL/wolfBoot · tools/keytools/sign.py:97
def make_header(image_file, fw_version, extra_fields=[]):
img_size = os.path.getsize(image_file)
# Magic header (spells 'WOLF')
header = struct.pack('<L', WOLFBOOT_MAGIC)
# Image size
header += struct.pack('<L', img_size)
# No pad bytes, version is aligned
# Version field
header += struct.pack('<HH', HDR_VERSION, HDR_VERSION_LEN)
header += struct.pack('<L', fw_version)
# Four pad bytes, so timestamp is aligned
header += struct.pack('BB', HDR_PADDING, HDR_PADDING)
header += struct.pack('BB', HDR_PADDING, HDR_PADDING)
# Timestamp field