The merged binary (1,257,328 bytes) was below the 1.5MB size threshold, causing it to be misidentified as app-only and flashed at 0x10000 instead of 0x0. This corrupted the flash layout and bricked the device. Now checks for ESP32 bootloader magic byte (0xE9) at offset 0 to reliably distinguish merged binaries from app-only binaries, regardless of size.
16 KiB
16 KiB