Hello guys,
I've wrote a basic bash script that merges 0x00000.bin, 0x40000.bin, esp_init_data_default.bin renamed to 0x7C000_esp_init_data_default.bin, blank.bin renamed to 0x7E000_blank.bin.
My folder before script executions looks like this:
Code: Select all0x00000.bin
0x40000.bin
0x7C000_esp_init_data_default.bin
0x7E000_blank.bin
firmware.sh
and after
Code: Select all0x00000.bin
0x08280_blank.bin
0x40000.bin
0x64590_blank.bin
0x7C000_esp_init_data_default.bin
0x7C080_blank.bin
0x7E000_blank.bin
firmware.sh
out.fw
Since the esptool wipes the entire flash before flashing (not only the region for specific file) it's better to flash one big file instead.
The out.fw file is a firmware binary ready to flash with (mind the paths):
Code: Select all/opt/espressif/flashtool/esptool/esptool.py --port /dev/ttyUSB0 write_flash 0x00000 ./out.fw
Please see the attachement:
firmware.sh.gz
.
EDIT:
If you have more binaries in your SDK like the mentioned "boot" and your output binaries does not overwrite this file memory region but are located after that one, then
I think you will have to merge it with aprioperiate offsets. For example boot adress is 0x00000, your output is probably 0x01000 and so on ...
Best Regards,
McGr3g0r