Some ESP32 images may not end with a segment whose load_addr is 0xFFFFFFFF, especially if the flash was not fully erased or the image tool does not write an explicit end marker. This can cause the loader to process leftover or unrelated data as additional segments, resulting in boot failures. Update the IS_LAST() macro to treat any segment not matching a valid memory region as the end of the segment list. This ensures only valid segments are loaded and any trailing invalid data is safely skipped. Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com> |
||
|---|---|---|
| .. | ||
| include | ||
| CMakeLists.txt | ||
| esp_psram.c | ||
| Kconfig | ||
| Kconfig.amp | ||
| Kconfig.console | ||
| Kconfig.defconfig | ||
| Kconfig.efuse | ||
| Kconfig.esptool | ||
| Kconfig.flash | ||
| Kconfig.spiram | ||
| loader.c | ||