Table of Contents
ChibiOS/LIB
ChibiOS/LIB is an RTOS extension library. This library can be added on top of RT and NIL kernels increasing the core RTOS functionality with higher level mechanisms.
In Brief
- Entirely portable, no dependencies on architecture nor compilers.
- Can enhance RT and NIL with high level constructs.
- Clean code base.
- The commercial version can be used on RT and NIL, no need to purchase it twice.
Added Functionalities
For a detailed description of functionalities please refer to the reference manuals, in brief:
Binary Semaphores
Two states semaphores. An useful variant of counter semaphores.
Mailboxes
Queues of messages between Thread/ISR and Thread/ISR, messages are pointer-sized variables.
Pipes
Characters queues between threads.
Objects FIFOs
Copy-less exchange of fixed-size messages between Thread/ISR and Thread/ISR. Messages can have any size.
Core Allocator
A very fast way to allocate memory blocks from a global heap. It is a two ways allocator, block can be allocated both from top downward or from base upward.
Heap Allocator
The classic alloc/free of variable-size memory blocks.
Pool Allocator
An efficient way to allocate/free fixed-size blocks.
Objects Factory
A way to allocate kernel objects or custom objects dynamically, objects are assigned a name and can be used by reference or by name. Objects have a reference counter and disappear when the last reference is released.
Dynamic Threading
Dynamically allocated threads, this is an RT-only feature not available on NIL.