Github: my esp32 disassembly
On the ESP32, the bootrom is much bigger (7*64k) than on the ESP8266:
- ROM0 - 0x4000 0000 to 0x4006 ffff (448k = 7 * 64k)
- ROM1 - 0x3ff9 0000 to 0x3ff9 ffff (64k)
The above map is correct and differs from what is published in the manuals.
The entire ROM is seen as a continuous 448k starting at 0x40000000.
There is also a 64k window that accesses the last 64k of this same image
at address 0x3ff90000. This smaller window is presented to the data bus,
while the big "full" window is presented to the instruction bus.
This is a Harvard architecture chip and this is therefore relevant.
See my notes below on disassembling the bootrom.
Here are some links to related topics:
Case studies
Here are some instructive vignettes from the disassembled code.
Feedback? Questions?
Drop me a line!
Tom's Computer Info / tom@mmto.org