reflow-oven-control-sw/stm-firmware/updater/ram-code/bin2carray.py

31 lines
585 B
Python
Executable File

#!env python
# Convert a file to a c array
# bin2carray <output file> <input file>
import os
import sys
if len(sys.argv) < 3:
sys.exit(-1)
source_file = sys.argv[2]
dest_file = sys.argv[1]
print("%s --> %s" % (source_file, dest_file))
with open(source_file, "rb") as src:
data = src.read()
with open(dest_file, "w") as dest:
dest.write("static const char binary_blob[%d] = {\n" % (len(data)))
for current,idx in zip(data, range(len(data))):
if ((idx+1) % 4 == 0):
dest.write(hex(current)+",\n")
else:
dest.write(hex(current)+",")
dest.write("};\n")
sys.exit(0)