mcu_hi3321_watch/tools/pkg/chip_packet/ws53/packet.py
2025-06-06 15:13:55 +08:00

235 lines
12 KiB
Python

#!/usr/bin/env python3
# encoding=utf-8
# ============================================================================
# @brief packet files
# ============================================================================
import os
import sys
PY_PATH = os.path.dirname(os.path.realpath(__file__))
sys.path.append(PY_PATH)
PKG_DIR = os.path.dirname(PY_PATH)
PKG_DIR = os.path.dirname(PKG_DIR)
from packet_create import create_sha_file
from packet_create import packet_bin
TOOLS_DIR = os.path.dirname(PKG_DIR)
SDK_DIR = os.path.dirname(TOOLS_DIR)
sys.path.append(os.path.join(SDK_DIR, "build", "script"))
# ws53
def make_all_in_one_packet(pack_style_str):
# make all in one packet
bin_dir = os.path.join(SDK_DIR, "interim_binary", "ws53", "bin", "boot_bin")
loadboot = os.path.join(bin_dir, "loaderboot_sign.bin")
loadboot_bx = loadboot + "|0x0|0x0|0"
partition = os.path.join(bin_dir, "partition.bin")
partition_bx = partition + "|0x400000|0x1000|1"
flashboot = os.path.join(bin_dir, "flashboot_sign_a.bin")
flashboot_bx = flashboot + "|0x401000|0x8000|1"
flashboot_bak = os.path.join(bin_dir, "flashboot_sign_b.bin")
flashboot_bak_bx = flashboot_bak + "|0x409000|0x8000|1"
print(pack_style_str)
if "btc" in pack_style_str:
sub_dir = "btc_only"
acore_rom = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53_btc_only", "application_rom.bin")
acore_rom_bx = acore_rom + "|0x1A800|0x0|1"
acore_app = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53_btc_only", "application_sign.bin")
acore_app_bx = acore_app + "|0x411000|0x200000|1"
ccore_rom = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53_btc_only", "control_ws53_btc_only_rom.bin")
ccore_rom_bx = ccore_rom + "|0x611000|0x48000|1"
ccore_app = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53_btc_only", "control_ws53_btc_only_sign.bin")
ccore_app_bx = ccore_app + "|0x659000|0xAF000|1"
elif "bt" in pack_style_str or "bgle" in pack_style_str:
sub_dir = "bt_only"
acore_rom = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53_bt_only", "application_rom.bin")
acore_rom_bx = acore_rom + "|0x1A800|0x0|1"
acore_app = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53_bt_only", "application_sign.bin")
acore_app_bx = acore_app + "|0x411000|0x200000|1"
ccore_rom = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53_bgle_all", "control_ws53_bgle_all_rom.bin")
ccore_rom_bx = ccore_rom + "|0x611000|0x48000|1"
ccore_app = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53_bgle_all", "control_ws53_bgle_all_sign.bin")
ccore_app_bx = ccore_app + "|0x659000|0xAF000|1"
elif "wifi" in pack_style_str:
sub_dir = "wifi_only"
acore_rom = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53_wifi_only", "application_rom.bin")
acore_rom_bx = acore_rom + "|0x1A800|0x0|1"
acore_app = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53_wifi_only", "application_sign.bin")
acore_app_bx = acore_app + "|0x411000|0x200000|1"
ccore_rom = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53_wifi_only", "control_ws53_rom.bin")
ccore_rom_bx = ccore_rom + "|0x611000|0x48000|1"
ccore_app = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53_wifi_only", "control_ws53_sign.bin")
ccore_app_bx = ccore_app + "|0x659000|0xAF000|1"
elif "plt" in pack_style_str:
sub_dir = "plt_only"
acore_rom = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53_plt_only", "application_rom.bin")
acore_rom_bx = acore_rom + "|0x1A800|0x0|1"
acore_app = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53_plt_only", "application_sign.bin")
acore_app_bx = acore_app + "|0x411000|0x200000|1"
ccore_rom = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53_plt_only", "control_ws53_rom.bin")
ccore_rom_bx = ccore_rom + "|0x611000|0x48000|1"
ccore_app = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53_plt_only", "control_ws53_sign.bin")
ccore_app_bx = ccore_app + "|0x659000|0xAF000|1"
elif "master" in pack_style_str:
sub_dir = "plt_wifi_bt_master"
acore_rom = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53_master", "application_rom.bin")
acore_rom_bx = acore_rom + "|0x1A800|0x0|1"
acore_app = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53_master", "application_sign.bin")
acore_app_bx = acore_app + "|0x411000|0x200000|1"
ccore_rom = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53_master", "control_ws53_rom.bin")
ccore_rom_bx = ccore_rom + "|0x611000|0x48000|1"
ccore_app = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53_master", "control_ws53_sign.bin")
ccore_app_bx = ccore_app + "|0x659000|0xAF000|1"
else:
sub_dir = "plt_wifi_bt"
acore_rom = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53", "application_rom.bin")
acore_rom_bx = acore_rom + "|0x1A800|0x0|1"
acore_app = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53", "application_sign.bin")
acore_app_bx = acore_app + "|0x411000|0x200000|1"
ccore_rom = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53", "control_ws53_rom.bin")
ccore_rom_bx = ccore_rom + "|0x611000|0x48000|1"
ccore_app = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53", "control_ws53_sign.bin")
ccore_app_bx = ccore_app + "|0x659000|0xAF000|1"
try:
if os.path.exists(acore_app):
packet_post_agvs = list()
packet_post_agvs.append(loadboot_bx)
packet_post_agvs.append(partition_bx)
packet_post_agvs.append(flashboot_bx)
packet_post_agvs.append(flashboot_bak_bx)
packet_post_agvs.append(acore_rom_bx)
packet_post_agvs.append(acore_app_bx)
fpga_fwpkg = os.path.join(SDK_DIR, "output", "ws53", "fwpkg", sub_dir, "fpga_acore_all.fwpkg")
packet_bin(fpga_fwpkg, packet_post_agvs)
packet_post_agvs = list()
packet_post_agvs.append(loadboot_bx)
packet_post_agvs.append(acore_rom_bx)
packet_post_agvs.append(acore_app_bx)
fpga_loadapp_only_fwpkg = os.path.join(SDK_DIR, "output", "ws53", "fwpkg", sub_dir, "fpga_acore_load_only.fwpkg")
packet_bin(fpga_loadapp_only_fwpkg, packet_post_agvs)
if os.path.exists(ccore_app):
packet_post_agvs = list()
packet_post_agvs.append(loadboot_bx)
packet_post_agvs.append(partition_bx)
packet_post_agvs.append(flashboot_bx)
packet_post_agvs.append(flashboot_bak_bx)
packet_post_agvs.append(ccore_rom_bx)
packet_post_agvs.append(ccore_app_bx)
fpga_fwpkg = os.path.join(SDK_DIR, "output", "ws53", "fwpkg", sub_dir, "fpga_ccore_all.fwpkg")
packet_bin(fpga_fwpkg, packet_post_agvs)
packet_post_agvs = list()
packet_post_agvs.append(loadboot_bx)
packet_post_agvs.append(ccore_rom_bx)
packet_post_agvs.append(ccore_app_bx)
fpga_loadapp_only_fwpkg = os.path.join(SDK_DIR, "output", "ws53", "fwpkg", sub_dir, "fpga_ccore_load_only.fwpkg")
packet_bin(fpga_loadapp_only_fwpkg, packet_post_agvs)
if os.path.exists(acore_app) and os.path.exists(ccore_app):
packet_post_agvs = list()
packet_post_agvs.append(loadboot_bx)
packet_post_agvs.append(partition_bx)
packet_post_agvs.append(flashboot_bx)
packet_post_agvs.append(flashboot_bak_bx)
packet_post_agvs.append(acore_rom_bx)
packet_post_agvs.append(acore_app_bx)
packet_post_agvs.append(ccore_rom_bx)
packet_post_agvs.append(ccore_app_bx)
fpga_fwpkg_all = os.path.join(SDK_DIR, "output", "ws53", "fwpkg", "pack_all_core", sub_dir, "fpga_all_in_one.fwpkg")
packet_bin(fpga_fwpkg_all, packet_post_agvs)
packet_post_agvs = list()
packet_post_agvs.append(loadboot_bx)
packet_post_agvs.append(acore_rom_bx)
packet_post_agvs.append(acore_app_bx)
packet_post_agvs.append(ccore_rom_bx)
packet_post_agvs.append(ccore_app_bx)
fpga_loadapp_only_fwpkg = os.path.join(SDK_DIR, "output", "ws53", "fwpkg", "pack_all_core", sub_dir, "fpga_load_only.fwpkg")
packet_bin(fpga_loadapp_only_fwpkg, packet_post_agvs)
except Exception as e:
print(e)
exit(-1)
sub_dir = "plt_wifi_bt_base"
acore_rom = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53_base", "application_rom.bin")
acore_rom_bx = acore_rom + "|0x1A800|0x0|1"
acore_app = os.path.join(SDK_DIR, "output", "ws53", "acore", "liteos_ws53_base", "application_sign.bin")
acore_app_bx = acore_app + "|0x411000|0x200000|1"
ccore_rom = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53", "control_ws53_rom.bin")
ccore_rom_bx = ccore_rom + "|0x611000|0x48000|1"
ccore_app = os.path.join(SDK_DIR, "output", "ws53", "control_core", "control_ws53", "control_ws53_sign.bin")
ccore_app_bx = ccore_app + "|0x659000|0xAF000|1"
try:
if os.path.exists(acore_app):
packet_post_agvs = list()
packet_post_agvs.append(loadboot_bx)
packet_post_agvs.append(partition_bx)
packet_post_agvs.append(flashboot_bx)
packet_post_agvs.append(flashboot_bak_bx)
packet_post_agvs.append(acore_rom_bx)
packet_post_agvs.append(acore_app_bx)
fpga_fwpkg = os.path.join(SDK_DIR, "output", "ws53", "fwpkg", sub_dir, "fpga_acore_all.fwpkg")
packet_bin(fpga_fwpkg, packet_post_agvs)
packet_post_agvs = list()
packet_post_agvs.append(loadboot_bx)
packet_post_agvs.append(acore_rom_bx)
packet_post_agvs.append(acore_app_bx)
fpga_loadapp_only_fwpkg = os.path.join(SDK_DIR, "output", "ws53", "fwpkg", sub_dir, "fpga_acore_load_only.fwpkg")
packet_bin(fpga_loadapp_only_fwpkg, packet_post_agvs)
if os.path.exists(ccore_app):
packet_post_agvs = list()
packet_post_agvs.append(loadboot_bx)
packet_post_agvs.append(partition_bx)
packet_post_agvs.append(flashboot_bx)
packet_post_agvs.append(flashboot_bak_bx)
packet_post_agvs.append(ccore_rom_bx)
packet_post_agvs.append(ccore_app_bx)
fpga_fwpkg = os.path.join(SDK_DIR, "output", "ws53", "fwpkg", sub_dir, "fpga_ccore_all.fwpkg")
packet_bin(fpga_fwpkg, packet_post_agvs)
packet_post_agvs = list()
packet_post_agvs.append(loadboot_bx)
packet_post_agvs.append(ccore_rom_bx)
packet_post_agvs.append(ccore_app_bx)
fpga_loadapp_only_fwpkg = os.path.join(SDK_DIR, "output", "ws53", "fwpkg", sub_dir, "fpga_ccore_load_only.fwpkg")
packet_bin(fpga_loadapp_only_fwpkg, packet_post_agvs)
if os.path.exists(acore_app) and os.path.exists(ccore_app):
packet_post_agvs = list()
packet_post_agvs.append(loadboot_bx)
packet_post_agvs.append(partition_bx)
packet_post_agvs.append(flashboot_bx)
packet_post_agvs.append(flashboot_bak_bx)
packet_post_agvs.append(acore_rom_bx)
packet_post_agvs.append(acore_app_bx)
packet_post_agvs.append(ccore_rom_bx)
packet_post_agvs.append(ccore_app_bx)
fpga_fwpkg_all = os.path.join(SDK_DIR, "output", "ws53", "fwpkg", "pack_all_core", sub_dir, "fpga_all_in_one.fwpkg")
packet_bin(fpga_fwpkg_all, packet_post_agvs)
packet_post_agvs = list()
packet_post_agvs.append(loadboot_bx)
packet_post_agvs.append(acore_rom_bx)
packet_post_agvs.append(acore_app_bx)
packet_post_agvs.append(ccore_rom_bx)
packet_post_agvs.append(ccore_app_bx)
fpga_loadapp_only_fwpkg = os.path.join(SDK_DIR, "output", "ws53", "fwpkg", "pack_all_core", sub_dir, "fpga_load_only.fwpkg")
packet_bin(fpga_loadapp_only_fwpkg, packet_post_agvs)
except Exception as e:
print(e)
exit(-1)
def is_packing_files_exist(soc, pack_style_str):
return