I can imagine I'll have two iroms in flash. Also I believe the iram section of the first application sits at the beginning of the FLASH and gets copied after the startup.
What I'm not sure about is how can I manage to get the second IRAM section stored in the middle of the flash (application IRAM) to the actual IRAM?
Hope it is clear. Thanks in advance.
Yes you can, this is the "OTA" feature of the Esp.
In the SDK you have different bootloaders available. The bootloaders for OTA basivally consider the flash is split in two slots (called user1 and user2 by Espressif), and they will run one of the two applications according to a flag set in Eeprom. There even exist others bootloaders on the net like "rboot", that, if I remember, allows even more applications slots.
Each application is standalone and embeds all the library code it needs (no such thing like shared library).
For your question about IRAM, I'm not sure I understand, I would say the compiler/booloader already take care about loading the righ piece of code in IRAM on startup.
I've been scrutinizing how does it work and it is clear now. I have to load the cca 3 volatile sections (IRAM/DRAM..) and reset the stack manually from the FLASH before jumping into my application.
Who is online
Users browsing this forum: No registered users and 1 guest
Newbies Start Here
Are you new to ESP8266?
Unsure what to do?
Dunno where to start?
Start right here!
We also have a RTOS version and a MESH version too!
Complete listing of the official ESP8266 related documentation release by ESPRESSIF!
Must read here!