我想在另一个文件中使用一个文件的Intel十六进制输出作为C数组。因此我创建了以下python脚本。
此脚本有效。但我总是创建一个临时文件,用于存储中间的英特尔十六进制到二进制数据。有没有我可以避免这个临时文件。
import intelhex
def Create_C_Array(fin , fout ):
intelhex.hex2bin(fin,"Temp.bin",None,None,None,None)
f = open("Temp.bin",'rb')
fo = open(fout,'w+')
#write array header
fo.write("__align(4) const unsigned char Myarray[] = \n {")
content = f.read()
hex = str(binascii.hexlify(content),'ascii')
formated_hex = '0x' + ' , 0x'.join(hex[i:i+2] for i in range(0,len(hex),2))
fo.write(formated_hex)
fo.write("} ;\n\r")