apache / nuttx

Apache NuttX is a mature, real-time embedded operating system (RTOS)
https://nuttx.apache.org/
Apache License 2.0
2.87k stars 1.17k forks source link

Add support to use NuttX as POSIX PSE51 system #11390

Open acassis opened 11 months ago

acassis commented 11 months ago

NuttX is a very complete POSIX RTOS, but sometimes for low end applications like some low cost automotive application POSIX standard is overwhelming.

This issue was fixed with PSE51 subset, that doesn't require many POSIX features, like file systems, etc.

Some years ago I removed many of NuttX features to make it running in a low end DIP package LPC1114 MCU, picture here: https://flickr.com/photos/79703543@N00/18013069041/in/dateposted-public/

After some time this minnsh demo was removed from NuttX mainline and many options to disable feature also were removed from kernel (option to disable FILES, VFS, etc). It is important to remove this option to disable NuttX features to make it adaptable to POSIX PSE51 standard.

xiaoxiang781216 commented 11 months ago

it's a very interesting topic, we are looking to fully support PSE51 spec.

raiden00pl commented 11 months ago

The ability to run NuttX on low cost chips would be a very cool feature, but if we're thinking about PSE51, then supporting the rest of POSIX RT profiles would be a good idea. If we could select supported POSIX profile by just setting the appropriate configuration option, it would be perfect. It's very interesting how low it's possible to go for NuttX with the required chip resources.

acassis commented 4 months ago

The POSIX missing functions can be found here: https://medium.com/@zim.kalinowski/posix-support-comparison-in-various-rtoses-b45677889ec8