mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 10:47:19 +02:00
Merge branch 'bugfix/otatool_wrong_switch_ota_partition_slots_v4.3' into 'release/v4.3'
otatool: Fix incorrect using otadata.seq&crc in switch_ota_partition cmd (v4.3) See merge request espressif/esp-idf!13366
This commit is contained in:
@ -86,9 +86,8 @@ class OtatoolTarget():
|
|||||||
seq = bytearray(self.otadata[start:start + 4])
|
seq = bytearray(self.otadata[start:start + 4])
|
||||||
crc = bytearray(self.otadata[start + 28:start + 32])
|
crc = bytearray(self.otadata[start + 28:start + 32])
|
||||||
|
|
||||||
seq = struct.unpack('>I', seq)
|
seq = struct.unpack('I', seq)
|
||||||
crc = struct.unpack('>I', crc)
|
crc = struct.unpack('I', crc)
|
||||||
|
|
||||||
info.append(otadata_info(seq[0], crc[0]))
|
info.append(otadata_info(seq[0], crc[0]))
|
||||||
|
|
||||||
return info
|
return info
|
||||||
@ -107,7 +106,7 @@ class OtatoolTarget():
|
|||||||
|
|
||||||
def is_otadata_info_valid(status):
|
def is_otadata_info_valid(status):
|
||||||
seq = status.seq % (1 << 32)
|
seq = status.seq % (1 << 32)
|
||||||
crc = hex(binascii.crc32(struct.pack('I', seq), 0xFFFFFFFF) % (1 << 32))
|
crc = binascii.crc32(struct.pack('I', seq), 0xFFFFFFFF) % (1 << 32)
|
||||||
return seq < (int('0xFFFFFFFF', 16) % (1 << 32)) and status.crc == crc
|
return seq < (int('0xFFFFFFFF', 16) % (1 << 32)) and status.crc == crc
|
||||||
|
|
||||||
partition_table = self.target.partition_table
|
partition_table = self.target.partition_table
|
||||||
@ -219,7 +218,7 @@ def _read_otadata(target):
|
|||||||
otadata_info = target._get_otadata_info()
|
otadata_info = target._get_otadata_info()
|
||||||
|
|
||||||
print(' {:8s} \t {:8s} | \t {:8s} \t {:8s}'.format('OTA_SEQ', 'CRC', 'OTA_SEQ', 'CRC'))
|
print(' {:8s} \t {:8s} | \t {:8s} \t {:8s}'.format('OTA_SEQ', 'CRC', 'OTA_SEQ', 'CRC'))
|
||||||
print('Firmware: 0x{:8x} \t0x{:8x} | \t0x{:8x} \t 0x{:8x}'.format(otadata_info[0].seq, otadata_info[0].crc,
|
print('Firmware: 0x{:08x} \t0x{:08x} | \t0x{:08x} \t 0x{:08x}'.format(otadata_info[0].seq, otadata_info[0].crc,
|
||||||
otadata_info[1].seq, otadata_info[1].crc))
|
otadata_info[1].seq, otadata_info[1].crc))
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user