mirror of
https://github.com/espressif/esptool.git
synced 2025-10-16 14:28:54 +08:00
fix: ram_only_header: pad flash segment to next boundary
When flash segment does not fit minimum alignment requirement, pad it to next alignment boundary so that the flash placement fits properly. Otherwise ELF won't be created due to wrong alignment. Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
This commit is contained in:

committed by
Radim Karniš

parent
4c5874a3c4
commit
4394a658c4
@@ -760,8 +760,10 @@ class ESP32FirmwareImage(BaseFirmwareImage):
|
||||
self.ROM_LOADER.BOOTLOADER_FLASH_OFFSET - self.SEG_HEADER_LEN
|
||||
)
|
||||
if pad_len < align_min:
|
||||
print("Unable to align the segment!")
|
||||
break
|
||||
# in case pad_len does not fit minimum alignment,
|
||||
# pad it to next aligned boundary
|
||||
pad_len += self.IROM_ALIGN
|
||||
|
||||
pad_len -= self.ROM_LOADER.BOOTLOADER_FLASH_OFFSET
|
||||
pad_segment = ImageSegment(0, b"\x00" * pad_len, f.tell())
|
||||
self.save_segment(f, pad_segment)
|
||||
|
Reference in New Issue
Block a user