| ChibiOS/RT | |
|---|---|
| Developer | Giovanni Di Sirio |
| Written in | C,assembly language |
| OS family | Real-time operating systems |
| Working state | Current |
| Source model | Open source |
| Initial release | 2007; 19 years ago (2007) |
| Latest release | 21.11.4 / September 13, 2025; 5 months ago (2025-09-13) |
| Repository | |
| Marketing target | Embedded systems |
| Available in | English |
| Supported platforms | Intel 80386;ARM 7, 9,Cortex: M0,M3,M4,M7;[1]PowerPC,e200z;Atmel AVR;TI MSP430;STM8;Freescale Coldfire;Renesas H8S |
| Kernel type | Microkernel |
| License | GPL3 orproprietary |
| Official website | www |
ChibiOS/RT is a compact and fast[2]real-time operating system formicrocontrollers supporting multiple architectures and released under a mix of theGNU General Public License version 3 (GPL3) and theApache License 2.0 (depending on module). It is developed by Giovanni Di Sirio.
Commercial licenses are available fromChibiOS. Additional products include ChibiOS/HAL, ahardware abstraction layer compatible with ChibiOS/RT, and ChibiStudio, a freeintegrated development environment based onEclipse, theGNU Compiler Collection, and the OpenOCD Joint Test Action Group (JTAG) debugging pod.
ChibiOS/RT is designed for embedded applications onmicrocontrollers of8-,16-, and32-bits. Size and execution efficiency are the main project goals.[3] As reference, the kernel size can range from a minimum of 1.2 KiB up to a maximum of 5.5 KiB with all the subsystems activated on a STM32Cortex-M3 processor. The kernel can achieve over 220,000 created/terminated threads per second and can perform acontext switch in 1.2 microseconds on an STM32 @ 72 MHz. Similar metrics for all the supported platforms are included in thesource code distribution as test reports.
The ChibiOS/RTmicrokernel supports:
All system objects, such asthreads,semaphores,timers, etc., can be created and deleted at runtime. There is no upper limit except for the available memory. To increase system reliability, thekernel architecture is entirely static, a memory allocator is not needed (but is available as an option), and there are nodata structures with upper size limits liketables orarrays. The system application programming interfaces (APIs) are designed to not have error conditions such aserror codes or exceptions.
TheRTOS is designed for applications onembedded systems (devices) and includes demo applications for variousmicrocontrollers:
Contributed ports are also available for theColdfire andH8S families.[5]
ChibiOS/RT has also been ported to theRaspberry Pi[6] and the following device drivers have been implemented: Port (GPIO), Serial, GPT (General-Purpose Timer), I2C, SPI and PWM.
It is also possible to run the kernel in aWin32process in a software I/O emulation mode, allowing easy application development without the need for physical hardware. An example is included forMinGWcompiler.
ChibiOS/RT is fully supported by thegraphical user interface (GUI) toolkit µGFX, formerly named ChibiOS/GFX.
This port includes support for all devices using one of the following cores: Cortex-M3, Cortex-M4, Cortex-M7