mirror of https://github.com/hak5/openwrt.git
layerscape: add byte_swap.py script for ls-rcw package
This patch is to add a byte_swap.py script for rcw bin byte swapping instead of using tclsh. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>openwrt-18.06
parent
5741835ed4
commit
ab8da4d285
|
@ -38,7 +38,7 @@ endef
|
|||
|
||||
define rcw/ls1046ardb
|
||||
TITLE=RCW binary $(PKG_VERSION) for NXP ls1046ardb 64b/32b Dev Board
|
||||
CONFIG=ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot_swap.bin
|
||||
CONFIG=ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin.swap
|
||||
endef
|
||||
|
||||
define rcw/ls1012ardb
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
From 6836519a638a0c30ef3d2137c248a1a9f1befbc4 Mon Sep 17 00:00:00 2001
|
||||
From: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
Date: Tue, 4 Jul 2017 20:25:40 +0800
|
||||
Subject: [PATCH] makefile: generate byte_swap rcw for ls1046ardb
|
||||
|
||||
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
---
|
||||
Makefile | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index fb55c8b..ab1b573 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -11,6 +11,8 @@ all install clean:
|
||||
@for board in $(BOARDS); do \
|
||||
$(MAKE) -C $$board $@ DESTDIR=$(DESTDIR)/$$board; \
|
||||
done
|
||||
+ tclsh ./tools/byte_swap.tcl ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin \
|
||||
+ ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot_swap.bin 8
|
||||
|
||||
release: $(foreach board,$(BOARDS),rcw-$(board)-$(VER).tar.gz)
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
From ebded197f9c12168d61973043fd9ebd5d49528a8 Mon Sep 17 00:00:00 2001
|
||||
From: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
Date: Mon, 25 Dec 2017 14:11:02 +0800
|
||||
Subject: [PATCH] rcw: add a python script for byte swapping
|
||||
|
||||
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
---
|
||||
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 <file_name> <byte>
|
||||
+"""
|
||||
+import sys
|
||||
+
|
||||
+try:
|
||||
+ file_name = sys.argv[1]
|
||||
+ byte = int(sys.argv[2])
|
||||
+except:
|
||||
+ print("Usage: ./byte_swap.py <file_name> <byte>")
|
||||
+ 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
|
||||
|
Loading…
Reference in New Issue