- Giovanni Di Sirio (email@example.com).
I didn't want a serious name for this project. It is the Japanese word for small as in small child. So ChibiOS/RT (ちびOS/RT) means small Real Time Operating System. Source Wikipedia.
- Free software, GPL3 licensed. Stable releases include a exception clause to the GPL.
- Designed for realtime applications.
- Easily portable.
- Preemptive scheduling.
- 128 priority levels. Multiple threads at the same priority level allowed.
- Round robin scheduling for threads at the same priority level.
- Offers threads, virtual timers, semaphores, mutexes, condvars, event flags, messages, mailboxes, I/O queues.
- No static setup at compile time, there is no need to configure a maximum number of all the above objects.
- PC simulator target included, the development can be done on a PC under Linux or Windows.
Timers, I/O channels and other HW resources are simulated in a guest OS process and the application code does not need to be aware of it.
- No *need* for a memory allocator, all the kernel structures are static and declaratively allocated.
- Optional, thread safe, Heap Allocator subsystem.
- Optional, thread safe, Memory Pools Allocator subsystem.
- Blocking and non blocking I/O channels with timeout and events generation capability.
- Minimal system requirements: about 6KiB ROM with all options enabled and speed optimizations on. The size can shrink under 2KiB by disabling the the unused subsystems and optimizing for size.
- Almost totally written in C with little ASM code required for ports.
- Optional Hardware Abstraction Layer (HAL) with support for many device driver models and device driver implementations.