mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-03 22:08:28 +00:00 
			
		
		
		
	Merge branch 'bugfix/otatool_wrong_switch_ota_partition_slots' into 'master'
otatool: Fix incorrect using otadata.seq&crc in switch_ota_partition cmd Closes IDFGH-4983 See merge request espressif/esp-idf!12900
This commit is contained in:
		@@ -85,9 +85,8 @@ class OtatoolTarget():
 | 
			
		||||
            seq = bytearray(self.otadata[start:start + 4])
 | 
			
		||||
            crc = bytearray(self.otadata[start + 28:start + 32])
 | 
			
		||||
 | 
			
		||||
            seq = struct.unpack('>I', seq)
 | 
			
		||||
            crc = struct.unpack('>I', crc)
 | 
			
		||||
 | 
			
		||||
            seq = struct.unpack('I', seq)
 | 
			
		||||
            crc = struct.unpack('I', crc)
 | 
			
		||||
            info.append(otadata_info(seq[0], crc[0]))
 | 
			
		||||
 | 
			
		||||
        return info
 | 
			
		||||
@@ -105,7 +104,7 @@ class OtatoolTarget():
 | 
			
		||||
 | 
			
		||||
        def is_otadata_info_valid(status):
 | 
			
		||||
            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
 | 
			
		||||
 | 
			
		||||
        partition_table = self.target.partition_table
 | 
			
		||||
@@ -217,7 +216,7 @@ def _read_otadata(target):
 | 
			
		||||
    otadata_info = target._get_otadata_info()
 | 
			
		||||
 | 
			
		||||
    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))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user