forked from xuos/xiuos
				
			
		
			
				
	
	
		
			27 lines
		
	
	
		
			936 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			936 B
		
	
	
	
		
			Python
		
	
	
	
import os
 | 
						|
 | 
						|
def mergeBinProccess( files, fileSaveName):
 | 
						|
    bin = b''
 | 
						|
    startAddrLast = files[0][1]
 | 
						|
    fileSizeLast  = 0
 | 
						|
    for file, addr in files:
 | 
						|
        fillLen = addr - (startAddrLast + fileSizeLast)
 | 
						|
        if fillLen > 0:               # fill 0xFF
 | 
						|
             fill = bytearray([0xFF for i in range(fillLen)])
 | 
						|
             bin += fill
 | 
						|
        with open(file, "rb") as f:   # add bin file content
 | 
						|
             bin += f.read()
 | 
						|
        startAddrLast = addr
 | 
						|
        fileSizeLast = os.path.getsize(file)
 | 
						|
    with open(fileSaveName, "wb") as f:
 | 
						|
         f.write(bin)
 | 
						|
         
 | 
						|
if __name__ == '__main__':
 | 
						|
    file1 = r'./build/XiZi-kd233_kernel.bin'
 | 
						|
    file1_start_addr = 0
 | 
						|
    file2 = r'./build/XiZi-kd233_app.bin'
 | 
						|
    file2_start_addr = 1024 * 1024 + 4096
 | 
						|
    newfile = r'./build/XiZi-kd233.bin'
 | 
						|
 | 
						|
    file = [ [file1 , file1_start_addr] , [file2 , file2_start_addr]  ]
 | 
						|
    mergeBinProccess(file, newfile) |