upvote
The memory model is flat enough. The problem with the memory is, you only have about 200kB traditional RAM. But then, you have 8MB of PSRAM. But it requires strict 4-byte alignment, and is noticeably slower.

What makes traditional OSs difficult on this platform, is the lack of memory protection. But I am a simple man, I am not writing an OS, all I wanted was a usable shell and an apps installer, so I made that work.

reply
Just like MS-DOS and CP/M did great with such hardware constraints.

I still think many don't understand how much is possible with a plain ESP32.

reply
What makes general OS difficult on a SoC is usually the lack of hardware virtual<->real RAM address translation accelerator, the MMU.

I guess it's not that important if developers had no raw pointer access so that object can be anywhere dynamically assigned(Java!!! also JavaScript and all interpreted langs). But basically all desktop OS apps are written in C and they always want single consistent virtual addresses to jump around in and none of apps work without the hardware dynamic translation.

reply
Can you expound on this problem a bit? I'm still pretty new to MCUs.
reply