Application built on top of ESP-IDF can be merged into single binary using following commands:
cd build esptool.py --chip ESP32 merge_bin -o merged-flash.bin @flash_args
The esptool will output following command and perform the conversion:
esptool.py --chip ESP32 merge_bin -o merged-flash.bin --flash_mode dio --flash_freq 80m --flash_size 16MB 0x0 bootloader/bootloader.bin 0x10000 wasmachine.bin 0x8000 partition_table/partition-table.bin 0xd000 ota_data_initial.bin esptool.py v3.3.2 Wrote 0x2ad4d0 bytes to file merged-flash.bin, ready to flash to offset 0x0
The output is stored in build/merged-flash.bin.