Page 1 of 1

ESP32-S31: first chip with virtual-memory a real paging MMU (RISC-V Sv32)?

Posted: Fri Aug 21, 2026 6:23 am
by sukeshak
Espressif quietly did something new with the 𝗘𝗦𝗣𝟯𝟮-𝗦𝟯𝟭: it's their first chip with 𝘃𝗶𝗿𝘁𝘂𝗮𝗹 𝗺𝗲𝗺𝗼𝗿𝘆 — a real 𝗽𝗮𝗴𝗶𝗻𝗴 𝗠𝗠𝗨 (𝗥𝗜𝗦𝗖-𝗩 𝗦𝘃𝟯𝟮) — and they've published an official Linux port for it.

I have been working on an Embedded Linux project for quite some time now. So, I dug into what's actually there today:

• espressif/esp-buildroot-external builds a complete stack for it: 𝘖𝘱𝘦𝘯𝘚𝘉𝘐, 𝘜-𝘉𝘰𝘰𝘵, 𝘓𝘪𝘯𝘶𝘹 6.18, 𝘢𝘯𝘥 𝘢 32-𝘣𝘪𝘵 𝘙𝘐𝘚𝘊-𝘝 𝘮𝘶𝘴𝘭 𝘶𝘴𝘦𝘳𝘴𝘱𝘢𝘤𝘦. Genuine virtual-memory Linux — not the no-MMU curiosity that earlier ESP32 Linux ports were.
• The device tree tells the honest story: 𝘰𝘯𝘦 𝘊𝘗𝘜 𝘤𝘰𝘳𝘦 𝘰𝘧 𝘵𝘩𝘦 𝘵𝘸𝘰, 𝘴𝘰𝘧𝘵-𝘧𝘭𝘰𝘢𝘵, 16 𝘔𝘉 𝘰𝘧 𝘙𝘈𝘔 𝘮𝘢𝘱𝘱𝘦𝘥, 𝘢 𝘜𝘈𝘙𝘛, 𝘢 𝘵𝘪𝘮𝘦𝘳, 𝘢𝘯𝘥 𝘢 𝘳𝘦𝘢𝘥-𝘰𝘯𝘭𝘺 𝘤𝘳𝘢𝘮𝘧𝘴 𝘳𝘰𝘰𝘵𝘧𝘴 𝘪𝘯 𝘵𝘩𝘦 𝘕𝘖𝘙 𝘧𝘭𝘢𝘴𝘩 𝘸𝘪𝘯𝘥𝘰𝘸 — and the kernel itself is an 𝘹𝘪𝘱𝘐𝘮𝘢𝘨𝘦, executing in place from flash.
• No display driver, no input, no networking yet. It boots to a serial console, and that's the whole show for now.

So today it's a developer preview for early adopters, exactly as Espressif labels it. But the direction is worth watching: 𝘢 𝘞𝘪-𝘍𝘪 6 𝘔𝘊𝘜 𝘸𝘪𝘵𝘩 𝘶𝘱 𝘵𝘰 32 𝘔𝘉 𝘰𝘧 𝘪𝘯-𝘱𝘢𝘤𝘬𝘢𝘨𝘦 𝘗𝘚𝘙𝘈𝘔, 𝘢 2𝘋 𝘱𝘪𝘹𝘦𝘭 𝘢𝘤𝘤𝘦𝘭𝘦𝘳𝘢𝘵𝘰𝘳 (𝘗𝘗𝘈), 𝘢𝘯𝘥 𝘢 𝘨𝘪𝘨𝘢𝘣𝘪𝘵 𝘌𝘵𝘩𝘦𝘳𝘯𝘦𝘵 𝘔𝘈𝘊 𝘵𝘩𝘢𝘵 𝘤𝘢𝘯 𝘳𝘶𝘯 𝘳𝘦𝘢𝘭 𝘓𝘪𝘯𝘶𝘹. The day a framebuffer driver lands for its parallel LCD controller, this becomes a very interesting tiny-Linux HMI part.

Silicon, from the datasheet: dual-core RV32 @ 320 MHz, single-precision FPU per core, 128-bit SIMD on one core, Sv32 MMU, Wi-Fi 6 (2.4 GHz) + BT 5.4 + 802.15.4.

Interesting times ahead.