Page 1 of 1

0x0000_0000 - 0x3F3F_FFFF address space

Posted: Sat Apr 07, 2018 9:36 am
by michprev
Hi,
in ESP32 technical docs is this memory area marked as reserved but ESP IDF flashes binary image into this area and then copies it in 2nd stage bootloader to other memory ranges. Are there any docs about how 0x0000_0000 - 0x3F3F_FFFF memory works so that I could leave data / instructions code here instead of copying it?

Re: 0x0000_0000 - 0x3F3F_FFFF address space

Posted: Sat Apr 07, 2018 2:38 pm
by kolban
When I first started studying the ESP32 I got confused (and still do (all the time)) on esptool which seemed to flash to addresses 0x1000, 0x8000 and 0x10000. They didn't seem to map to the address space of the processor. The answer is .. they don't. Those are offsets from 0 into flash address space. I have seen many a user confuse the notion of the processors address space and flash address space. If we think of flash memory as being 4 mbytes then it must have a 1st byte - offset 0, a 2nd byte - offset 1 etc etc. The esptool is writing into flash memory starting the supplied offsets. At execution time, the flash memory is then mapped (dynamically) into the address space of the CPU.

Re: 0x0000_0000 - 0x3F3F_FFFF address space

Posted: Sun Apr 08, 2018 10:08 am
by michprev
It is clearer to me now. Thank you!