picorv32/firmware/makehex.py

28 lines
670 B
Python
Raw Normal View History

2015-06-06 20:01:37 +08:00
#!/usr/bin/python3
#
# This is free and unencumbered software released into the public domain.
2015-07-02 16:49:35 +08:00
#
# 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.
2015-06-06 20:01:37 +08:00
from sys import argv
binfile = argv[1]
nwords = int(argv[2])
with open(binfile, "rb") as f:
2015-06-06 20:01:37 +08:00
bindata = f.read()
assert len(bindata) < 4*nwords
2015-06-06 20:01:37 +08:00
assert len(bindata) % 4 == 0
for i in range(nwords):
2015-06-06 20:01:37 +08:00
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")