1# Date : 2019/03/08 2# Author : Snow Yang 3# Mail : yangsw@mxchip.com 4 5import re 6import os 7import sys 8from struct import pack 9 10image_file = sys.argv[1] 11section_start_name = sys.argv[2] 12symbol_list_file = sys.argv[3] 13 14size = os.path.getsize(image_file) 15addr = int('0x'+re.search(r"\n(\w+) (\w+) "+section_start_name, open(symbol_list_file).read()).group(1), 16) 16header = b'81958711' + pack('<L', size) + pack('<L', addr) + b'\xFF'*16 17 18open(image_file.replace('.bin', '_prepend.bin'), 'wb').write(header + open(image_file, 'rb').read()) 19