添加升级包制作流程;
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -4,6 +4,9 @@
|
|||||||
# 缓存文件
|
# 缓存文件
|
||||||
**/__pycache__/*.pyc
|
**/__pycache__/*.pyc
|
||||||
|
|
||||||
|
# 测试文件
|
||||||
|
test
|
||||||
|
|
||||||
# 生成结果
|
# 生成结果
|
||||||
result/*.bin
|
result/*.bin
|
||||||
result/*.html
|
result/*.html
|
||||||
|
|||||||
@@ -425,27 +425,38 @@ def GenerateImage_SLCP001_p460(path_boot, path_main, path_back):
|
|||||||
|
|
||||||
return bytearray(Image), main_header, main_data_b, main_data_e, back_header, back_data_b, back_data_e
|
return bytearray(Image), main_header, main_data_b, main_data_e, back_header, back_data_b, back_data_e
|
||||||
|
|
||||||
|
def GeneratePackage_SLCP001_p460(path_hex):
|
||||||
|
""" 叠光适配器-460平台版本 生成升级包 """
|
||||||
|
config = {
|
||||||
|
'prod_type': [0x45, 0x00], # 产品类型
|
||||||
|
'method_compress': False, # 文件压缩
|
||||||
|
'prog_id': list(b"SLCP001"), # 程序识别号
|
||||||
|
'prog_type': 'app', # 程序类型
|
||||||
|
'area_code': [0x00, 0x00], # 地区
|
||||||
|
}
|
||||||
|
main_header, main_data_b, main_data_e = make_datafile3(path_hex, config)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
print("Merge Image generated successfully.")
|
||||||
# path_bin = Path("F:\\Work\\FPGA\\Test\\Vivado\\test_update\\test_update.vitis\\upgrade_system\\Debug\\sd_card\\BOOT.BIN")
|
print(f"File Info:")
|
||||||
# test3(path_bin)
|
print(f"\t header_length={len(main_header)}, bin_length={len(main_data_b)}[{hex(len(main_data_b))}]")
|
||||||
|
|
||||||
# test2()
|
# 组装镜像
|
||||||
|
Image = [0xFF] * (len(main_header) + len(main_data_e))
|
||||||
|
offset_image = 0
|
||||||
|
Image[offset_image: offset_image + len(main_header)] = main_header
|
||||||
|
offset_image += len(main_header)
|
||||||
|
Image[offset_image: offset_image + len(main_data_e)] = main_data_e
|
||||||
|
|
||||||
if 0:
|
return bytearray(Image), main_data_b
|
||||||
bin_back = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\lamina_adapter_back.bin")
|
|
||||||
bin_main = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\lamina_adapter_main.bin")
|
|
||||||
main_header1 = bin_main.read_bytes()[:184]
|
|
||||||
main_data_e1 = bin_main.read_bytes()[184:]
|
|
||||||
back_header1 = bin_back.read_bytes()[:184]
|
|
||||||
back_data_e1 = bin_back.read_bytes()[184:]
|
|
||||||
|
|
||||||
root = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\uart_tool\p460")
|
def Process1():
|
||||||
result = root
|
""" 镜像生成流程 """
|
||||||
|
root = Path(r"test\p460")
|
||||||
|
result = Path(r"test\p460\result")
|
||||||
# 正常启动镜像
|
# 正常启动镜像
|
||||||
hex_boot = root / r"bootloader.hex"
|
hex_boot = root / r"bootloader.hex"
|
||||||
hex_main = root / r"SLCP001_240625_2030_V1.04.hex"
|
hex_main = root / r"lamina_adapter.hex"
|
||||||
hex_back = root / r"SLCP001_240625_2030_B1.04.hex"
|
hex_back = root / r"lamina_adapter_back.hex"
|
||||||
|
|
||||||
file_image = result / f'{hex_main.stem[:-6]}_ROM.bin'
|
file_image = result / f'{hex_main.stem[:-6]}_ROM.bin'
|
||||||
file_main_header = result / 'SLCP001_header_main.bin'
|
file_main_header = result / 'SLCP001_header_main.bin'
|
||||||
@@ -474,3 +485,33 @@ if __name__ == "__main__":
|
|||||||
data_image[0x054018: 0x05401A] = [0x00, 0x01]
|
data_image[0x054018: 0x05401A] = [0x00, 0x01]
|
||||||
data_image[0x056018: 0x05601A] = [0x00, 0x01]
|
data_image[0x056018: 0x05601A] = [0x00, 0x01]
|
||||||
file_image3.write_bytes(data_image)
|
file_image3.write_bytes(data_image)
|
||||||
|
|
||||||
|
def Process2():
|
||||||
|
""" 升级包生成流程 """
|
||||||
|
root = Path(r"test\p460")
|
||||||
|
result = Path(r"test\p460\result")
|
||||||
|
|
||||||
|
hex_main = root / r"lamina_adapter_t1.hex"
|
||||||
|
file_package = result / f'{hex_main.stem}.dat'
|
||||||
|
file_bin = result / f'{hex_main.stem}.bin'
|
||||||
|
|
||||||
|
data_package, data_bins = GeneratePackage_SLCP001_p460(hex_main)
|
||||||
|
file_package.write_bytes(data_package)
|
||||||
|
file_bin.write_bytes(data_bins)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
# path_bin = Path("F:\\Work\\FPGA\\Test\\Vivado\\test_update\\test_update.vitis\\upgrade_system\\Debug\\sd_card\\BOOT.BIN")
|
||||||
|
# test3(path_bin)
|
||||||
|
|
||||||
|
# test2()
|
||||||
|
|
||||||
|
if 0:
|
||||||
|
bin_back = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\lamina_adapter_back.bin")
|
||||||
|
bin_main = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\lamina_adapter_main.bin")
|
||||||
|
main_header1 = bin_main.read_bytes()[:184]
|
||||||
|
main_data_e1 = bin_main.read_bytes()[184:]
|
||||||
|
back_header1 = bin_back.read_bytes()[:184]
|
||||||
|
back_data_e1 = bin_back.read_bytes()[184:]
|
||||||
|
|
||||||
|
Process1()
|
||||||
|
|||||||
Reference in New Issue
Block a user