As a side note, Zephyr RTOS (hosted at the Linux Foundation) already supports writing applications in Rust <a href="https://github.com/zephyrproject-rtos/zephyr-lang-rust">https://github.com/zephyrproject-rtos/zephyr-lang-rust</a>
Interesting. RTOS is a major embedded ecosystem component that rust currently lacks.<p>For anyone not familiar: NuttX is notable as the RTOS used on the open-source PX4 flight controller firmware, which is ubiquitous in commercial UASs.
So like, taking a step back, is NuttX POSIX or POSIX-like (if there's a file namespace with /dev in it / you can use the Nix package)?<p>And... does it have a global memory allocator (using stdlib packages that use alloc)? I can't really tell if this is an RTOS for microcontrollers or like, 32-bit ARM and don't have any background on it. And how does that interact with RTOS guarantees?
Some years into Rust firmware with no classic RTOS experience: I get the feeling that embedded async Rust is a little like an RTOS library toolkit. Why do you need an OS abstraction when you can handcraft an embedded async runtime? Component reuse?
Not sure if the author is the one who added support but it'd be great to get a somewhat in depth explanation as to how a target was added to Rust! The docs surrounding this kind of... leave a lot to the imagination.