修复升级包生成结果与打包工具不一致的问题;
- 调换校验方式与压缩方式字节位置; - 调换文件头校验大小端;
This commit is contained in:
@@ -158,15 +158,15 @@ def build_header_new(config: dict):
|
|||||||
m_file_header[8:10] = config['prod_type']
|
m_file_header[8:10] = config['prod_type']
|
||||||
m_file_header[10:22] = config['prog_id'] + [0] * (12 - len(config['prog_id']))
|
m_file_header[10:22] = config['prog_id'] + [0] * (12 - len(config['prog_id']))
|
||||||
if config['method_compress'] == True:
|
if config['method_compress'] == True:
|
||||||
m_file_header[22] = 0x01
|
m_file_header[23] = 0x01
|
||||||
else:
|
else:
|
||||||
m_file_header[22] = 0x00
|
m_file_header[23] = 0x00
|
||||||
|
|
||||||
if 'crc32' in config.keys():
|
if 'crc32' in config.keys():
|
||||||
m_file_header[23] = 0x00
|
m_file_header[22] = 0x00
|
||||||
m_file_header[24: 40] = config['crc32'] + [0x00] * 12
|
m_file_header[24: 40] = config['crc32'] + [0x00] * 12
|
||||||
elif 'md5' in config.keys():
|
elif 'md5' in config.keys():
|
||||||
m_file_header[23] = 0x01
|
m_file_header[22] = 0x01
|
||||||
m_file_header[24: 40] = config['md5']
|
m_file_header[24: 40] = config['md5']
|
||||||
else:
|
else:
|
||||||
raise Exception("Error, Unknown method verify.")
|
raise Exception("Error, Unknown method verify.")
|
||||||
@@ -212,7 +212,7 @@ def build_header_new(config: dict):
|
|||||||
|
|
||||||
calculator = Calculator(Crc16.MODBUS)
|
calculator = Calculator(Crc16.MODBUS)
|
||||||
code_crc16 = calculator.checksum(m_file_header[:-2])
|
code_crc16 = calculator.checksum(m_file_header[:-2])
|
||||||
m_file_header[182: 184] = [code_crc16 % 0x100, code_crc16 // 0x100]
|
m_file_header[182: 184] = [code_crc16 // 0x100, code_crc16 % 0x100]
|
||||||
|
|
||||||
return m_file_header
|
return m_file_header
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user