1#!/usr/bin/env python3 2# SPDX-License-Identifier: BSD-2-Clause 3# 4# Copyright (c) 2016, Linaro Limited 5import struct 6 7 8def main(): 9 with open("../out/arm/core/tee.bin", "rb") as f: 10 data = f.read(4) 11 magic = struct.unpack('<I', data)[0] 12 print("Magic: \t\t0x{:08x}".format(magic)) 13 14 data = f.read(1) 15 version = struct.unpack('<B', data)[0] 16 print("Version: \t0x{:02x}".format(version)) 17 18 data = f.read(1) 19 arch_id = struct.unpack('<B', data)[0] 20 print("ArchID: \t0x{:02x}".format(arch_id)) 21 22 data = f.read(2) 23 flags = struct.unpack('<H', data)[0] 24 print("Arch Flags: \t0x{:04x}".format(arch_id)) 25 26 data = f.read(4) 27 init_size = struct.unpack('<I', data)[0] 28 print("Init size: \t0x{:04x}".format(init_size)) 29 30 data = f.read(4) 31 laddr_h = struct.unpack('<I', data)[0] 32 print("Load addr high:\t0x{:04x}".format(laddr_h)) 33 34 data = f.read(4) 35 laddr_l = struct.unpack('<I', data)[0] 36 print("Load addr low: \t0x{:04x}".format(laddr_l)) 37 38 data = f.read(4) 39 mem_usage = struct.unpack('<I', data)[0] 40 print("Mem usage: \t0x{:04x}".format(mem_usage)) 41 42 data = f.read(4) 43 pgd_size = struct.unpack('<I', data)[0] 44 print("Pages size: \t0x{:04x}".format(pgd_size)) 45 46 47if __name__ == "__main__": 48 main() 49