# @Time : 2020/12/31 # @Author : David Dai # @File : mkimage.py #!/usr/bin/python2 import os import argparse import struct parser = argparse.ArgumentParser() parser.add_argument('-t', '--type') parser.add_argument('-b', '--bin') parser.add_argument('-o', '--out', default = "load.bin") parser.add_argument('-g', '--img', default = "load.img") parser.add_argument('-a', '--addr', default = "0x00000000") parser.add_argument('-e', '--ep', default = "0x00000000") args = parser.parse_args() args.addr = int(args.addr, 16) args.ep = int(args.ep, 16) def stm32image(): checksum = 0 with open(args.out, 'wb') as f: #write head 'STM32' f.write(struct.pack('H', 32)) f.write(struct.pack('H', (len(dcdConfig) << 3) + 8)) f.write(struct.pack('H', (len(dcdConfig) << 3) + 4)) f.write(struct.pack('I', int(d[0], 16))) f.write(struct.pack('>I', int(d[1], 16))) #padding data for i in range(0x27B): f.write(struct.pack('