调整脚本结构, 清理冗余代码;

This commit is contained in:
何 泽隆
2024-08-29 16:53:28 +08:00
parent 5cb2a423c6
commit 7bbe0a08ef
8 changed files with 468 additions and 267 deletions

View File

@@ -1,8 +1,10 @@
import time
from pathlib import Path
from serial import Serial
from utl import trans_list_to_str
from tools.ByteConv import trans_list_to_str
from tools.IntelHex import file_Bin_to_IntelHex
from func_frame import make_frame_modbus, check_frame_modbus
from func_upgrade import GenerateImage_DLSP001_p280039, GeneratePackage_DLSP001_p280039
modbus_map = {
# 1 - Hex
@@ -329,15 +331,73 @@ def test_communication(time_out=2):
print(f"Success Rate: {log_success / (log_success + log_failed) * 100}%")
dev_lamina.flag_print = saveconfig_print
def make_Image():
""" 叠光控制器DSP镜像与升级包生成流程 """
root = Path(r"test\p280039")
result = Path(r"test\p280039\result")
# 正常启动镜像
hex_boot = root / r"DLSP001_240828_0900_BL1.01.hex"
hex_main = root / r"DLSP001_240828_0900_V1.01.hex"
hex_back = root / r"DLSP001_240828_0900_B1.01.hex"
hex_update = root / r"DLSP001_240828_0900_T1.01.hex"
file_image = result / f'{hex_main.stem}_ROM.hex'
file_main_header = result / 'header_main.bin'
file_back_header = result / 'header_back.bin'
file_package = result / f'{hex_update.stem}.dat'
file_update_bin = result / f'{hex_update.stem}.bin'
file_package_buffer = result / f'{hex_update.stem}.datbuffer'
data_bins = GenerateImage_DLSP001_p280039(hex_boot, hex_main, hex_back)
data_package, data_update_bin = GeneratePackage_DLSP001_p280039(hex_update)
data_buffer = bytearray(2 * len(data_package))
for i in range(len(data_package)):
data_buffer[2*i] = data_package[i]
file_package.write_bytes(data_package)
file_main_header.write_bytes(data_bins[1])
file_back_header.write_bytes(data_bins[2])
file_update_bin.write_bytes(data_update_bin)
file_package_buffer.write_bytes(data_buffer)
data_hex = file_Bin_to_IntelHex(data_bins[0], 0x80000, memory_width=2)
file_image.write_text(data_hex)
# 异常镜像-主分区md5错误
file_image1 = result / f'{file_image.stem}_b1.hex'
data_image = data_bins[0].copy()
data_image[2 * 0x006018: 2 * 0x00601A] = [0x00, 0x01, 0x00, 0x02]
data_hex = file_Bin_to_IntelHex(data_image, 0x80000, memory_width=2)
file_image1.write_text(data_hex)
# 异常镜像-备份分区md5错误
file_image2 = result / f'{file_image.stem}_b2.hex'
data_image = data_bins[0].copy()
data_image[2 * 0x007018: 2 * 0x00701A] = [0x00, 0x01, 0x00, 0x02]
data_hex = file_Bin_to_IntelHex(data_image, 0x80000, memory_width=2)
file_image2.write_text(data_hex)
# 异常镜像-双分区md5错误
file_image3 = result / f'{file_image.stem}_b3.hex'
data_image = data_bins[0].copy()
data_image[2 * 0x006018: 2 * 0x00601A] = [0x00, 0x01, 0x00, 0x02]
data_image[2 * 0x007018: 2 * 0x00701A] = [0x00, 0x01, 0x00, 0x02]
data_hex = file_Bin_to_IntelHex(data_image, 0x80000, memory_width=2)
file_image3.write_text(data_hex)
if __name__=='__main__':
mode_config = {
"Log": {'com_name': None,
# 'addr_645': [0x01, 0x00, 0x00, 0x00, 0x00, 0x40],
},
"Debug": {'com_name': 'COM8', 'baudrate': 250000, 'parity': 'E', 'bytesize': 8, 'stopbits': 1,
'addr_645': [0x01, 0x02, 0x03, 0x04, 0x05, 0x06],
"Debug": {'com_name': 'COM8', 'baudrate': 115200, 'parity': 'N', 'bytesize': 8, 'stopbits': 1,
# 'addr_645': [0x01, 0x02, 0x03, 0x04, 0x05, 0x06],
'frame_print': True,
'time_out': 0.2, 'retry': 1, 'retry_sub': 10},
'time_out': 0.2, 'retry': 3, 'retry_sub': 10},
}
@@ -418,7 +478,10 @@ if __name__=='__main__':
dev_lamina.frame_read(0x0170, 0x30)
if not hasattr(__builtins__,"__IPYTHON__"):
path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240625_2030_V1.04.bin")
make_Image()
path_bin = Path(r"D:\WorkSpace\UserTool\SelfTool\FrameParser\test\p280039\result\DLSP001_240828_0900_T1.01.dat")
# path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240520_0000_T1.11.bin")
# 生产镜像版本
# path_bin = Path(r"D:\WorkingProject\LightStackAdapter\software\lamina_adapter\tools\upgrade\SLCP001_240525_1800_V1.12.bin")