apache / nuttx

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

Add support to use NuttX as POSIX PSE51 system #11390

Open acassis opened 8 months ago

acassis commented 8 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 8 months ago

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

raiden00pl commented 8 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 1 month ago

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