-->
Page 1 of 1

How to load ELF image build by Arduino using Non-OS SDK boot

PostPosted: Tue Jun 01, 2021 2:30 am
by vgahlaut
Hi Experts,

I have a requirement where I need to use elf image built using Arduino IDE but with boot_v1.6.bin provided in the NonOS SDK. I performed following steps

Background:
1. Arduino builds 2 elf files (sketch elf file and eboot elf file) then uses elf2bin.py (https://github.com/esp8266/Arduino/blob ... elf2bin.py) to stitch single binary that can be flashed on address 0x0. As we want to use SDK boot loader so we skipped eboot.elf file. and used only sketch elf file to follow NONOS SDK process to create a bin file.

My Sketch Elf File Name: hello.ino.elf

Step 1: Run objcopy command to generate following files as per Make file rules
Code: Select allxtensa-lx106-elf-objcopy.exe --only-section .text -O binary hello.ino.elf eagle.app.v6.text.bin
xtensa-lx106-elf-objcopy.exe --only-section .data -O binary hello.ino.elf eagle.app.v6.data.bin
xtensa-lx106-elf-objcopy.exe --only-section .rodata -O binary hello.ino.elf eagle.app.v6.rodata.bin
xtensa-lx106-elf-objcopy.exe --only-section .irom0.text -O binary hello.ino.elf eagle.app.v6.irom0text.bin


Step2: Run gen_appbin.py to create binary file eagle.app.flash.bin
Code: Select alltools\gen_appbin.py hello.ino.elf 1 2 0 4 1


Step3: Flashed following binaries on ESP12 F using ESP Download Tool
Code: Select allboot_v1.6.bin:             0x00000;
eagle.app.flash.bin:       0x01000;
esp_init_data_default.bin: 0x3FC000;
blank.bin:                 0x3FE000;


Run the board. But it did not work (no output on console except for some junk). As the sketch is nothing but a C++ code, I believe it should have worked. Can you please guide me.