blob: 834f778c8453b49fd105226aca320d7909dad360 [file] [log] [blame]
Damien George075d5972014-11-27 20:30:33 +00001import sys
Paul Sokolovskya6213332016-08-04 00:19:09 +03002import struct
Damien George075d5972014-11-27 20:30:33 +00003
Paul Sokolovsky8d2bcaf2016-04-03 15:40:53 +03004SEGS_MAX_SIZE = 0x9000
5
Damien George075d5972014-11-27 20:30:33 +00006assert len(sys.argv) == 4
7
8with open(sys.argv[3], 'wb') as fout:
9
10 with open(sys.argv[1], 'rb') as f:
11 data_flash = f.read()
12 fout.write(data_flash)
13 print('flash ', len(data_flash))
14
Damien George075d5972014-11-27 20:30:33 +000015 with open(sys.argv[2], 'rb') as f:
16 data_rom = f.read()
Paul Sokolovskya6213332016-08-04 00:19:09 +030017
18 pad = b'\xff' * (SEGS_MAX_SIZE - len(data_flash))
19 assert len(pad) >= 4
20 fout.write(pad[:-4])
21 fout.write(struct.pack("I", SEGS_MAX_SIZE + len(data_rom)))
22 print('padding ', len(pad))
23
24 fout.write(data_rom)
25 print('irom0text', len(data_rom))
Damien George075d5972014-11-27 20:30:33 +000026
Paul Sokolovsky8d2bcaf2016-04-03 15:40:53 +030027 print('total ', SEGS_MAX_SIZE + len(data_rom))