3 ms·
Ha, for most of my applications the ESP32s are actually wildly over-powered - but the development experience is quite good. It's cool that they're seriously ex
by solarkraft 4y ago
Ha, for most of my applications the ESP32s are actually wildly over-powered - but the development experience is quite good.
It's cool that they're seriously expanding their media interfacing capabilities - the ESP32s already have some, but they're quite basic.
I don't see a mention of it, so I have to wonder: What about Linux? There was a project a while back to get Linux running (at a snail's pace) by using JuiceVM to emulate a RISC-V CPU - now we have ESP32s with actual RISC-V CPUs (and MMUs as well!) ... so what's stopping Linux from running?
To answer the foreseeable "why would you want that": It would be really nice to get a standard OS with preemptive multitasking, dynamically loaded binaries, a shell and standard tooling.
NuttX has a lot of these (Zephyr has some), but I still feel find them quite limiting: At best you have to deal with "the microcontroller version of ..." (see Python, Go, .NET - they're all somehow worse versions). Don't we have enough power nowadays, even in the lower-tier ESPs or is my intuition totally off?
I know there are relatively cheap "SBC-style" boards (Raspberry Pi Zero W) for this purpose, but there's still a sizeable pricing (and size) gap between those and "MCU style" boards.
The one board I'm aware of that is trying to bridge the gap is the 128Mb Ox64 (https://pine64.com/product/128mb-ox64-sbc-available-on-december-2-2022/ https://pine64.com/product/128mb-ox64-sbc-available-on-decem...) and basically I wonder whether this might be Espressif's response to it.
- alerighi 4y agoProbably the amount of RAM available more than the CPU. Surely you can get a very stripped down version of Linux running, but I doubt a version of Linux that you can use to do something useful. Surely the day that even on these sort of low cost microcontrollers can run Linux is not far...
- IshKebab 4y agoIt has an external PSRAM interface. You can easily get 64MB PSRAM chips which is plenty for Linux.
- dragontamer 4y agoIt's about virtual memory controllers. Linux needs one. The chips at this size don't always have the minimum hardware features to even boot Linux.
- monocasa 4y agoLinux has a no MMU mode where it works very well without an MMU, just using an MPU for process isolation. I'm not sure if it's been ported to RISC-V M mode though. Edit: looks like there is already a port https://www.cnx-software.com/2020/02/17/how-to-build-run-linux-on-kendryte-k210-risc-v-nommu-processor/ https://www.cnx-software.com/2020/02/17/how-to-build-run-lin...
- jeroenhd 4y agoLast time I read into it, the lack of memory management hardware (paging etc.) was one of the main reasons stated why normal Linux can't run on these devices. Someone managed to get Linux to work by writing a virtual machine and emulating a Linux capable computer, but that was obviously not a serious use case (it was also extremely slow for obvious reasons).
- monocasa 4y agoThere's also just a native nommu Linux port to RISC-V. https://www.cnx-software.com/2020/02/17/how-to-build-run-linux-on-kendryte-k210-risc-v-nommu-processor/ https://www.cnx-software.com/2020/02/17/how-to-build-run-lin...