1bbaeed4dSRouven Czerwinski#!/usr/bin/env python3 21bb92983SJerome Forissier# SPDX-License-Identifier: BSD-2-Clause 309871a7aSJoakim Bech# 409871a7aSJoakim Bech# Copyright (c) 2016, Linaro Limited 509871a7aSJoakim Bechimport struct 609871a7aSJoakim Bech 7e06fa025SJerome Forissier 809871a7aSJoakim Bechdef main(): 909871a7aSJoakim Bech with open("../out/arm/core/tee.bin", "rb") as f: 1009871a7aSJoakim Bech data = f.read(4) 11*8108ed32SJens Wiklander magic = struct.unpack('<I', data)[0] 12bbaeed4dSRouven Czerwinski print("Magic: \t\t0x{:08x}".format(magic)) 1309871a7aSJoakim Bech 1409871a7aSJoakim Bech data = f.read(1) 15*8108ed32SJens Wiklander version = struct.unpack('<B', data)[0] 16bbaeed4dSRouven Czerwinski print("Version: \t0x{:02x}".format(version)) 1709871a7aSJoakim Bech 1809871a7aSJoakim Bech data = f.read(1) 19*8108ed32SJens Wiklander arch_id = struct.unpack('<B', data)[0] 20bbaeed4dSRouven Czerwinski print("ArchID: \t0x{:02x}".format(arch_id)) 2109871a7aSJoakim Bech 2209871a7aSJoakim Bech data = f.read(2) 23*8108ed32SJens Wiklander flags = struct.unpack('<H', data)[0] 24bbaeed4dSRouven Czerwinski print("Arch Flags: \t0x{:04x}".format(arch_id)) 2509871a7aSJoakim Bech 2609871a7aSJoakim Bech data = f.read(4) 27*8108ed32SJens Wiklander init_size = struct.unpack('<I', data)[0] 28bbaeed4dSRouven Czerwinski print("Init size: \t0x{:04x}".format(init_size)) 2909871a7aSJoakim Bech 3009871a7aSJoakim Bech data = f.read(4) 31*8108ed32SJens Wiklander laddr_h = struct.unpack('<I', data)[0] 32bbaeed4dSRouven Czerwinski print("Load addr high:\t0x{:04x}".format(laddr_h)) 3309871a7aSJoakim Bech 3409871a7aSJoakim Bech data = f.read(4) 35*8108ed32SJens Wiklander laddr_l = struct.unpack('<I', data)[0] 36bbaeed4dSRouven Czerwinski print("Load addr low: \t0x{:04x}".format(laddr_l)) 3709871a7aSJoakim Bech 3809871a7aSJoakim Bech data = f.read(4) 39*8108ed32SJens Wiklander mem_usage = struct.unpack('<I', data)[0] 40bbaeed4dSRouven Czerwinski print("Mem usage: \t0x{:04x}".format(mem_usage)) 4109871a7aSJoakim Bech 4209871a7aSJoakim Bech data = f.read(4) 43*8108ed32SJens Wiklander pgd_size = struct.unpack('<I', data)[0] 44bbaeed4dSRouven Czerwinski print("Pages size: \t0x{:04x}".format(pgd_size)) 4509871a7aSJoakim Bech 46e06fa025SJerome Forissier 4709871a7aSJoakim Bechif __name__ == "__main__": 4809871a7aSJoakim Bech main() 49