diff --git a/res/boot/boot_dump.py b/res/boot/boot_dump.py index 202b1abc62f7f82b51777dfde9830040b1100eea..35cacb0a8e007c40ee2ca3445a43729dde709f5c 100644 --- a/res/boot/boot_dump.py +++ b/res/boot/boot_dump.py @@ -3,19 +3,35 @@ import sys -def print_buffer(filename): + +def print_buffer(filename, mode="buffer"): file = open(filename, "rb") - try: data = file.read() - finally: file.close() + try: + data = file.read() + finally: + file.close() + + if mode == "buffer": + buffer = [str(ord(byte)) for byte in data] + buffer_s = ", ".join(buffer) + + print("[%s]" % buffer_s) - buffer = [str(ord(byte)) for byte in data] - buffer_s = ", ".join(buffer) + elif mode == "hex": + counter = 0 + for byte in data: + print("[0x%04x] 0x%02x" % (counter, ord(byte))) + counter += 1 - print("[%s]" % buffer_s) if __name__ == "__main__": if len(sys.argv) < 2: print("Missing arguments") exit(1) - print_buffer(sys.argv[1]) + mode = "buffer" + + if len(sys.argv) > 2: + mode = sys.argv[2] + + print_buffer(sys.argv[1], mode=mode)