First commit XiUOS
This commit is contained in:
27
mergebin.py
Normal file
27
mergebin.py
Normal file
@@ -0,0 +1,27 @@
|
||||
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/XiUOS_kd233_kernel.bin'
|
||||
file1_start_addr = 0
|
||||
file2 = r'./build/XiUOS_kd233_app.bin'
|
||||
file2_start_addr = 1024 * 1024 + 4096
|
||||
newfile = r'./build/XiUOS_kd233.bin'
|
||||
|
||||
file = [ [file1 , file1_start_addr] , [file2 , file2_start_addr] ]
|
||||
mergeBinProccess(file, newfile)
|
||||
Reference in New Issue
Block a user