调整脚本结构, 清理冗余代码;
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user