From c87a500c45f36ad248b1298d63e590d1d7e74f12 Mon Sep 17 00:00:00 2001 From: Yangbo Lu Date: Tue, 3 Jul 2018 11:06:47 +0800 Subject: [PATCH] rcw: support byte swapping without tclsh tool Signed-off-by: Yangbo Lu --- Makefile | 4 ---- byte_swap.py | 32 ++++++++++++++++++++++++++++++++ qspi_swap.sh | 2 +- 3 files changed, 33 insertions(+), 5 deletions(-) create mode 100755 byte_swap.py diff --git a/Makefile b/Makefile index 9f0587e..393bb2c 100644 --- a/Makefile +++ b/Makefile @@ -13,10 +13,6 @@ TCLSH := $(shell command -v tclsh 2> /dev/null) VER = $(shell git describe --tags) all install clean: -ifndef TCLSH - $(error "tclsh is not available. please install it.") - exit 1 -endif @for board in $(BOARDS); do \ $(MAKE) -C $$board $@ DESTDIR=$(DESTDIR)/$$board; \ done diff --git a/byte_swap.py b/byte_swap.py new file mode 100755 index 0000000..386310e --- /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 + '.swapped','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 + '.swapped') diff --git a/qspi_swap.sh b/qspi_swap.sh index 0b58e44..d23fd8b 100755 --- a/qspi_swap.sh +++ b/qspi_swap.sh @@ -9,7 +9,7 @@ do if [ "$board_name" = "$current_dir" ]; then if [ -e $filename ]; then swapped_file="$filename.swapped" - tclsh ../tools/byte_swap.tcl $filename $swapped_file 8 + ../byte_swap.py $filename 8 fi fi done < $1 -- 1.7.1