summaryrefslogtreecommitdiffstats
path: root/firmware/makehex.py
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/makehex.py')
-rw-r--r--firmware/makehex.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/firmware/makehex.py b/firmware/makehex.py
new file mode 100644
index 0000000..419b378
--- /dev/null
+++ b/firmware/makehex.py
@@ -0,0 +1,27 @@
+#!/usr/bin/env python3
+#
+# This is free and unencumbered software released into the public domain.
+#
+# Anyone is free to copy, modify, publish, use, compile, sell, or
+# distribute this software, either in source code form or as a compiled
+# binary, for any purpose, commercial or non-commercial, and by any
+# means.
+
+from sys import argv
+
+binfile = argv[1]
+nwords = int(argv[2])
+
+with open(binfile, "rb") as f:
+ bindata = f.read()
+
+assert len(bindata) < 4*nwords
+assert len(bindata) % 4 == 0
+
+for i in range(nwords):
+ if i < len(bindata) // 4:
+ w = bindata[4*i : 4*i+4]
+ print("%02x%02x%02x%02x" % (w[3], w[2], w[1], w[0]))
+ else:
+ print("0")
+