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

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.