I'm just reading into this a little more this morning...
From the ESP32 technical reference manual:
1.3.3 External Memory The ESP32 can access external SPI flash and SPI SRAM as external memory. Table 4 provides a list of external memories that can be accessed by either CPU at a range of addresses on the data and instruction buses. When a CPU accesses external memory through the Cache and MMU, the cache will map the CPU’s address to an external physical memory address (in the external memory’s address space), according to the MMU settings. Due to this address mapping, the ESP32 can address up to 16 MB External Flash and 8 MB External SRAM.
That looks to be a severe constraint if one is looking to use an ESP32 as a modern desktop PC. The MMU doesn't have paging capability of the external memory. On top of that, code can't be executed from external memory... so whatever you want to run has to fit inside the ESP32's IRAM. Unless you get an ESP32 such as the ESP32-S2FH2 with 2mb flash on die, and I think there's one with 4mb flash, but that's still not very much to work with.
All true. It's not intended to be a desktop device. Its main application is an edge device. For that purpose, it's quite suitable. There are plenty of chinese built micro controllers that cost hundreds of dollars that have even more capabilities.
(post is archived)