Fork me on GitHub

一 基本概念

   bin文件合并是嵌入式中常用的,这里给一个实例。

 

二  实例分析

 

import os
import argparse
import hashlib

offset1 = 0x00100000

def bin_file_merge(bin_file1,bin_file2,bin_merge):
    f1 = open(bin_file1,"rb")
    f2 = open(bin_file2,"rb")
    fmerge = open(bin_merge,"ab")

    bin2_size = os.path.getsize(bin_file2)

    data = f1.read()
    fmerge.write(data)
    offset = fmerge.tell()
    data = f2.read()
    #fmerge.seek(offset1)
    fmerge.write(data)
    fmerge.close()




def get_parser():
    parser = argparse.ArgumentParser(description='change extension of files in a working directory')
    parser.add_argument('bin_file1', metavar='BIN_FILE1', type=str, nargs=1,
                        help='bin file one ')
    parser.add_argument('bin_file2', metavar='BIN_FILE2', type=str, nargs=1,
                        help='bin file two')
    parser.add_argument('bin_merge', metavar='BIN_MERGE', type=str, nargs=1,
                        help='bin file merge')
    return parser

  

github网址路径:

https://github.com/DyLanCao/python_cabin.git

 

三 总结展望

 

该代码只是基本的架构,具体的实现要根据需求来更改的,实际环境中只需要更改一下偏移地址即可。

 

posted on 2021-04-15 18:31  虚生  阅读(2568)  评论(0编辑  收藏  举报