aboutsummaryrefslogtreecommitdiffstats
path: root/package/firmware/layerscape/ls-rcw/patches/0001-rcw-add-a-python-script-for-byte-swapping.patch
blob: a2b7140654a0d49644973a2e15aa3f4149dd8b73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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