# # Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED. # # This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT # be copied by any method or incorporated into another program without # the express written consent of Aerospace C.Power. This Information or any portion # thereof remains the property of Aerospace C.Power. The Information contained herein # is believed to be accurate and Aerospace C.Power assumes no responsibility or # liability for its use in any way and conveys no license or title under # any patent or copyright and makes no representation or warranty that this # Information is free from patent or copyright infringement. import os import sys import time len1 = 16384 len2 = 245760 split_len = 65536 def bin_to_hex(target1, target2): with open("romcode_total.bin", 'wb') as tmpf: # write romcode_total.bin use target1 with open(target1, 'rb') as sf1: in_size = 0 b = sf1.read(4) while b: tmpf.write(b) in_size = in_size + len(b) b = sf1.read(4) while in_size < len1: tmpf.write(b'\0') in_size = in_size + 1 # continue write romcode_total.bin use target2 with open(target2, 'rb') as sf2: in_size = 0 b = sf2.read(4) while b: tmpf.write(b) in_size = in_size + len(b) b = sf2.read(4) while in_size < len2: tmpf.write(b'\0') in_size = in_size + 1 tmpf.flush() tmpf.close() time.sleep(1) # split romcode_total use split_len with open("romcode_total.bin", 'rb') as out_total: file_index = 1 b = out_total.read(4) while b: out_name = 'romcode' + str(file_index) + '.hex' print("" + out_name) with open(out_name, 'w') as outf: in_size = 4 while in_size <= split_len and b: outf.write('%02x%02x%02x%02x\n' % (b[3], b[2], b[1], b[0])) in_size = in_size + 4 b = out_total.read(4) while in_size <= split_len: outf.write('%02x%02x%02x%02x\n' % (0, 0, 0, 0)) in_size = in_size + 4 outf.flush() outf.close() file_index = file_index + 1 if __name__ == "__main__": bin_to_hex(sys.argv[1], sys.argv[2])