It also aims to be fully compliant to standards, to be fully real time, and to be totally open. NuttX has a rich feature OS set, a modular design, it is highly scalable and configurable, as well as standards compliant. It is distributed with a non-restrictive BSD license. It is often dubbed by its developers as "Tiny Linux."
Features at a glance
Key features include core task management, BSD socket interface, memory allocators (shared memory, standard heap memory allocation, protected build with MPU, flat embedded build, per-process heaps, granule allocator and dynamically sized), memory configurations, porting guide, fully preemptible, tickless operation, on-demand paging and system logging.
In addition, the project comes with extensions to manage pre-emption, per-thread, built-in CPU load measurements, comprehensive documentation, optional tasks that contain address environments, ANSI-like and POSIX-like task controls, clocks, pthreads, environment variables, signals, named message queues, timers, filesystem and counting semaphores.
Among other features, we can mention round-robin scheduling, FIFO, support for priority inheritance, support for the SoC architecture, support for board architectures, support for new processor architectures, watchdog timers, VxWorks-like task management, I/O redirection and transmitted “controlling terminals.”
NuttX supports a wide variety of hardware platforms, among which we can mention numerous ARM processors, including ARM Cortex-M3, ARM926EJS, ARM7TDMI, ARM Cortex-M4, ARM Cortex-M0, ARM920T and ARM Cortex-A5, as well as the Atmel 8-bit AVR, Freescale M68HCS12, AVR32 Atmel AVR platforms.
Additionally, it also supports various Intel platforms, such as MicroChip PIC32MX (MIPS), 80c52 and 80×86, Zilog platforms, including Zilog Z80, Zilog Z16F, Zilog Z8Encore! and Zilog eZ80 Acclaim!, and the Renesas/Hitachi SuperH and Renesas M16C/26 platforms.
Reviewed by Marius Nestor, last updated on November 26th, 2014
In a hurry? Add it to your Download Basket!
- Features: Additional new features and extended functionality:
- Core OS:
- Watchdog Timer Allocation: (1) If we run out of pre-allocated watchdog times, the logic will now allocate additional timers from the heap. A reserve of pre-allocated watchdog timers is maintained so that there will always be timers available for interrupt handlers. (2) Added support for statically allocated watchdog timer
Application descriptionNuttX is an open source, portable and freely distributed software project implemented in C and Assembly, and designed ...