What is the boot sequence of esp_wrover_kit?
Posted: Mon Jan 28, 2019 8:13 am
by benvinkorea
I see a bootloader binary with esptool.py and it should be the secondary bootloader apart from ROM boot loader.
Now, I just want to know which address the primary(ROM boot loader) jumps to after execution?
If I want to put my own secondary bootloader where should I place it and which address?
Re: What is the boot sequence of esp_wrover_kit?
Posted: Mon Jan 28, 2019 11:53 am
by ESP_igrr
Please see if the following section of the docs answers your question:
https://docs.espressif.com/projects/esp ... bootloader
Re: What is the boot sequence of esp_wrover_kit?
Posted: Wed Jan 30, 2019 5:39 am
by benvinkorea
Hi ESP,
Thanks for the reply. The link seems to be work in progress and specific to IDF.
The link says, First stage bootloader in ROM loads the second stage bootloader from FLASH (from offset 0x1000) into RAM and execute.
First 4kB sector of flash is used to store secure boot IV and signature of the application image. Please check secure boot documentation for details about this.
Now, I am interested in knowing the following;
a. How ROM bootloader decides how many bytes to copy from FLASH (from offset 0x1000 to iRAM) ?
b. After copying into iRAM, how it decides the entry point in RAM?
c. If secure boot is NOT used, then can the first 4KB used for other application?
Re: What is the boot sequence of esp_wrover_kit?
Posted: Wed Jan 30, 2019 11:15 am
by ESP_igrr
The bootloader expects to find firmware in the format shown in
https://github.com/espressif/esptool/wi ... age-Format at address 0x1000. Note that the link describes the format used in ESP8266. You can see the structure of ESP32 image format (which is very similar) at
https://github.com/espressif/esp-idf/bl ... e_format.h. This format defines a number of loadable sections, entry point, and a few other fields.
If you don't use secure boot, you can place something into the first sector, but the bootloader will still expect to find the binary image header at 0x1000.