From ebded197f9c12168d61973043fd9ebd5d49528a8 Mon Sep 17 00:00:00 2001 From: Yangbo Lu Date: Mon, 25 Dec 2017 14:11:02 +0800 Subject: [PATCH] rcw: add a python script for byte swapping Signed-off-by: Yangbo Lu --- Makefile | 2 ++ byte_swap.py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100755 byte_swap.py diff --git a/Makefile b/Makefile index fb55c8b..27e3ba2 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,8 @@ all install clean: @for board in $(BOARDS); do \ $(MAKE) -C $$board $@ DESTDIR=$(DESTDIR)/$$board; \ done + chmod 755 ./byte_swap.py; \ + ./byte_swap.py ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin 8 release: $(foreach board,$(BOARDS),rcw-$(board)-$(VER).tar.gz) diff --git a/byte_swap.py b/byte_swap.py new file mode 100755 index 0000000..7ee4129 --- /dev/null +++ b/byte_swap.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python +""" +Swap the 4/8 bytes endian except for PBI CRC +2016-10-9: Initial version + +Usage: + ./byte_swap.py +""" +import sys + +try: + file_name = sys.argv[1] + byte = int(sys.argv[2]) +except: + print("Usage: ./byte_swap.py ") + print("E.g.: ./byte_swap.py rcw_1600.bin 8\n") + exit + +with open(file_name,'rb') as file: + tmp = file.read() +file.close() + +with open(file_name + '.swap','wb') as file: + for i in range(0, len(tmp) - 1, byte): + if(tmp[i:i+4].encode('hex')) == "08610040": + #print("PBI CRC command") + file.write(tmp[i:i+8]) + break + file.write(tmp[i:i+byte][::-1]) +file.close() + +print("Swapped file: " + file_name + '.swap') -- 2.7.4