updater: Add script for converting bin file to C array

This commit is contained in:
Mario Hüttel 2020-12-07 22:35:52 +01:00
parent a3e652ddb8
commit d353183826
2 changed files with 16 additions and 3 deletions

View File

@ -56,7 +56,7 @@ $(OBJ):
clean: clean:
@echo [CLEAN] @echo [CLEAN]
rm -f $(OBJ) $(MAPFILE).map $(CFILES:%.c=$(OBJDIR)/%.c.d) $(RAM_CODE_TARGET).bin $(RAM_CODE_TARGET).elf $(RAM_CODE_TARGET).bin.c $(QUIET)rm -f $(OBJ) $(MAPFILE).map $(CFILES:%.c=$(OBJDIR)/%.c.d) $(RAM_CODE_TARGET).bin $(RAM_CODE_TARGET).elf $(RAM_CODE_TARGET).bin.c
-include $(CFILES:%.c=$(OBJDIR)/%.c.d) -include $(CFILES:%.c=$(OBJDIR)/%.c.d)

View File

@ -1,5 +1,8 @@
#!env python #!env python
# Convert a file to a c array
# bin2carray <output file> <input file>
import os import os
import sys import sys
@ -11,7 +14,17 @@ dest_file = sys.argv[1]
print("%s --> %s" % (source_file, dest_file)) print("%s --> %s" % (source_file, dest_file))
with open(dest_file, "w") as f: with open(source_file, "rb") as src:
f.write("AAA") 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) sys.exit(0)