添加备份程序升级包生成测试;

This commit is contained in:
何 泽隆
2025-01-21 10:09:58 +08:00
parent 34c9c67a00
commit 404fea7b3b
3 changed files with 23 additions and 3 deletions

View File

@@ -242,7 +242,7 @@ if __name__=='__main__':
'time_out': 3, 'time_gap': 0.1, 'retry': 3, 'retry_sub': 10}, 'time_out': 3, 'time_gap': 0.1, 'retry': 3, 'retry_sub': 10},
} }
dev_lamina = LaminaAdapter(type_dev="SLCP001", **mode_config['Debug']) dev_lamina = LaminaAdapter(type_dev="SLCP101", **mode_config['Debug'])
dev_lamina.frame_read(0x0100, 0x30) dev_lamina.frame_read(0x0100, 0x30)
@@ -251,6 +251,7 @@ if __name__=='__main__':
file_hex = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\release\device_V1\lamina_adapter\Debug\lamina_adapter.hex") file_hex = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\release\device_V1\lamina_adapter\Debug\lamina_adapter.hex")
elif dev_lamina.device == 'SLCP101': elif dev_lamina.device == 'SLCP101':
file_hex = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\release\device_V2.03\lamina_adapter\Debug\lamina_adapter.hex") file_hex = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\release\device_V2.03\lamina_adapter\Debug\lamina_adapter.hex")
file_dat_back = Path(r"D:\WorkingProject\LightStackAdapter\software\tools\hex_history_SLCP101\生产镜像\SLCP101_V2.03\SLCP101_250111_0800_B2.03.dat")
elif dev_lamina.device == 'SLCP102': elif dev_lamina.device == 'SLCP102':
file_hex = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\release\device_V3.01\lamina_adapter\Debug\lamina_adapter.hex") file_hex = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\release\device_V3.01\lamina_adapter\Debug\lamina_adapter.hex")
elif dev_lamina.device == 'DLSY001': elif dev_lamina.device == 'DLSY001':
@@ -264,6 +265,12 @@ if __name__=='__main__':
print(dev_lamina.device) print(dev_lamina.device)
print(file_hex) print(file_hex)
if not hasattr(__builtins__,"__IPYTHON__") and 0:
""" 测试备份程序升级 """
dev_lamina.frame_update(file_dat_back)
time.sleep(3)
ret = dev_lamina.frame_read(0x0100, 0x20)
if not hasattr(__builtins__,"__IPYTHON__"): if not hasattr(__builtins__,"__IPYTHON__"):
version = "SLCP101_241030_2000_V2.03" version = "SLCP101_241030_2000_V2.03"
addr = [0x24, 0x09, 0x12, 0x00, 0x00, 0x00] addr = [0x24, 0x09, 0x12, 0x00, 0x00, 0x00]

View File

@@ -284,8 +284,14 @@ if __name__ == '__main__':
"dev27": {'device_id': 'TTE0101HP2411180003', # 文安何庄村新建1 "dev27": {'device_id': 'TTE0101HP2411180003', # 文安何庄村新建1
'frame_print': True, 'frame_print': True,
'time_out': 6, 'retry': 1}, 'time_out': 6, 'retry': 1},
"dev28": {'device_id': 'TTE0101DX2406240043', # 樟山村
'frame_print': True,
'time_out': 6, 'retry': 1},
"dev29": {'device_id': 'TTE0101DX2409270044', # 行唐西口头
'frame_print': True,
'time_out': 6, 'retry': 1},
} }
dev_lamina = LaminaStation(**mode_config["dev27"]) dev_lamina = LaminaStation(**mode_config["dev29"])
dev_lamina.frame_read(0x0000, 0x20) dev_lamina.frame_read(0x0000, 0x20)
time.sleep(2) time.sleep(2)

View File

@@ -355,10 +355,17 @@ def GeneratePackage(type_dev: str, path_hex: Path, **kwargs) -> bytearray:
print(f"\t header_length={len(main_header)}, bin_length={len(bin_main)}[{hex(len(bin_main))}]") print(f"\t header_length={len(main_header)}, bin_length={len(bin_main)}[{hex(len(bin_main))}]")
# 组装镜像 # 组装镜像
Image = [0xFF] * (len(main_header) + len(encrypt_main)) if 'upgrade_backup' in kwargs.keys():
""" 备份程序填充部分字节以便阻止旧版程序进行升级 """
dummy_data = bytearray([0x00] * 8)
else:
dummy_data = []
Image = [0xFF] * (len(main_header) + len(dummy_data) + len(encrypt_main))
offset_image = 0 offset_image = 0
Image[offset_image: offset_image + len(main_header)] = main_header Image[offset_image: offset_image + len(main_header)] = main_header
offset_image += len(main_header) offset_image += len(main_header)
Image[offset_image: offset_image + len(dummy_data)] = dummy_data
offset_image += len(dummy_data)
Image[offset_image: offset_image + len(encrypt_main)] = encrypt_main Image[offset_image: offset_image + len(encrypt_main)] = encrypt_main
# 额外处理 # 额外处理