Remix.run Logo
▲ dragontamer 2 hours ago

There's multiple embedded companies, NXP i.MX, TI AM355x, STMicro STM32MP1 and MP2, Xilinx Zynq... that offer either Linux-CPU + realtime MCU, or Linux-CPU + FPGA. If we include Rasp. Pi PIO, there's even more companies offering main processor + coprocessor (including ESP32).

Those are just the ones off the top of my head. I'm sure there's more if I used Google to search. And of those companies, there's *multiple* lines of chips that offer these capabilities.

Its... pretty mainstream in the embedded world. The fact is that Linux is very bad for realtime, so adding a non-Linux coprocessor is one of the easiest ways to solve the problem. Run Linux for "regular" code, and then run the hard-realtime code on a dedicated chip (either Cortex M4 or some other MCU... or maybe a Cortex-R(something)). Or in the case of Xilinx, run the realtime stuff in FPGA-land.

Alternatively, you spend a ton of money on an OS that's well suited for hard-realtime (ex: VxWorks or something), but that also requires a processor with some guarantees (usually L1-like cache that's reserved by the programmer, some "always active" hard-realtime memory). This is more difficult in practice compared to just having a 2nd MCU or FPGA handle the realtime tasks though in a coprocessor like arrangement.

-------

I dunno what you're arguing for. Are you trying to say that the world of Linux capable core + Realtime core is somehow... niche?