Page 1 of 1

Burn ELF to ESP32

Posted: Wed Sep 25, 2019 2:03 pm
by tatulea
Hi,

I want to create an automated firmware update via the USB cable. I have a Python script that connects to my ESP serial port. The ESP will send its app_elf_sha256 and Python compares it with the one that a specific .elf file has. If it is different, it means that there should be an update. The problem is that I don't know how to burn this ELF file.

I know that I can use "python /home/xxx/esp/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 /home/xxx/esp/myapp/build/bootloader/bootloader.bin 0x10000 /home/xxx/esp/myapp/build/myapp.bin 0x8000 /home/xxx/esp/myapp/build/partitions_singleapp.bin", but there is no .elf file.

Re: Burn ELF to ESP32

Posted: Wed Sep 25, 2019 5:54 pm
by Ritesh
tatulea wrote:
Wed Sep 25, 2019 2:03 pm
Hi,

I want to create an automated firmware update via the USB cable. I have a Python script that connects to my ESP serial port. The ESP will send its app_elf_sha256 and Python compares it with the one that a specific .elf file has. If it is different, it means that there should be an update. The problem is that I don't know how to burn this ELF file.

I know that I can use "python /home/xxx/esp/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 /home/xxx/esp/myapp/build/bootloader/bootloader.bin 0x10000 /home/xxx/esp/myapp/build/myapp.bin 0x8000 /home/xxx/esp/myapp/build/partitions_singleapp.bin", but there is no .elf file.
Hello,

I believe you can not directly burn elf file into ESP32 device. So, You first have to create binary file using xtensa toolchain utility to create that binary file with library dependecies as well. Then you can directly flash that binary file into appropriate locations.