#!/usr/bin/env python3 import os import sys import argparse import pathlib import shutil import struct FILETAG_RCP_VERSION = 0 FILETAG_RCP_FLASH_ARGS = 1 FILETAG_RCP_BOOTLOADER = 2 FILETAG_RCP_PARTITION_TABLE = 3 FILETAG_RCP_FIRMWARE = 4 FILETAG_BR_OTA_IMAGE = 5 FILETAG_IMAGE_HEADER = 0xff HEADER_ENTRY_SIZE = 3 * 4 RCP_IMAGE_HEADER_SIZE = HEADER_ENTRY_SIZE * 6 RCP_FLASH_ARGS_SIZE = 2 * 4 * 3 def append_subfile_header(fout, tag, size, offset): fout.write(struct.pack(' 0: fout.write(data) data = fin.read(buf_size) def append_flash_args(fout, flash_args_path): with open(flash_args_path, 'r') as f: # skip first line next(f) partition_info_list = [l.split() for l in f] for offset, partition_file in partition_info_list: offset = int(offset, 0) if partition_file.find('bootloader') >= 0: fout.write(struct.pack('= 0: fout.write(struct.pack('