Apache NuttX is a real time embedded operating system (RTOS).
Its goals are:
Small Footprint Usable in all but the tightest micro-controller environments, the focus is on the tiny-to-small, deeply embedded environment.
Rich Feature OS Set The goal is to provide implementations of most standard POSIX OS interfaces to support a rich, multi-threaded development environment for deeply embedded processors.
Highly Scalable Fully scalable from tiny (8-bit) to moderate embedded (64-bit). Scalability with rich feature set is accomplished with: Many tiny source files, link from static libraries, highly configurable, use of weak symbols when available.
Standards Compliance Apache NuttX strives to achieve a high degree of standards compliance. The primary governing standards are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s are adopted for functionality not available under these standards or for functionality that is not appropriate for the deeply-embedded RTOS (such as fork()).
Real-Time Fully pre-emptible; fixed priority, round-robin, and “sporadic” scheduling.
Totally Open Non-restrictive Apache license.
GNU Toolchains Compatible GNU toolchains based on buildroot available for download to provide a complete development environment for many architectures.