NIL Features

RT is the compact kernel of ChibiOS, it is designed to be a the smallest usable RTOS for deeply embedded applications. The design guidelines have been:

  • Focus on memory size, the target is to keep it below 1kB in its maximum configuration. Common objects must take the minimal amount of RAM.
  • Scalable from 8 bits architectures upward.
  • Upward compatible with RT.
  • Reasonable API. Common features must be supported, it has to be an usable RTOS not just minimal.
  • Fully Static Architecture.
  • Static tasks table, all tasks are declared statically.
  • Clean and elegant code base.
  • Predictable and Deterministic.
  • Fully compliant with HAL OSAL.
  • MISRA 2012 compliance.

See the RT vs NIL article for a full list of the NIL features.

Highlights

In addition to the common RTOS features NIL implements a set of unique features:

Feature Description
Real Tick-less Mode The kernel does not require a system tick, interrupts are generated only at the scheduled time. This is optimal for implementing advanced power management modes.
Minimal RAM Usage Tasks take just 7..24 bytes, Semaphores take 1..4 bytes depending on the architecture (pointers size).
Minimal Flash Usage Code size from 512 to 1024 bytes depending on the architecture and configuration.
RT vs NIL

Features comparison and use cases.

learn more

Tick-Less Mode

Both RT and NIL kernels support an advanced tick-less mode that allows to implement advanced power management.

learn more