ChibiOS/RT
From Wikipedia, the free encyclopedia
ChibiOS/RT | |
Website | chibios.sourceforge.net |
---|---|
Programmed in | C, ASM |
OS family | Real-time operating systems |
Source model | Open Source |
Latest stable release | 0.6.5 / May 31, 2008 |
Supported platforms | Intel 80386, ARM7, ARM Cortex-M3, Atmel AVR, MSP430 |
Kernel type | Microkernel |
License | GPL3 |
Working state | Current |
ChibiOS/RT is a compact and fast real-time operating system supporting multiple architectures and released under the GPL3 license. The kernel supports:
- Preemptive multithreading
- 128 priority levels
- Round-robin scheduling for threads at the same priority level
- Software Timers
- Counting Semaphores
- Mutexes with support for the Priority Inheritance algorithm
- Messages
- Event sources
- Queues
- Synchronous or asynchronous I/O with timeout capability
All the system objects, such as Threads, Semaphores, Timers etc, can be created/deleted at runtime. There is no upper limit except for the available memory. In order to increase the system reliability, the kernel architecture is entirely static, a memory allocator is not required (but allowed) and there are no data structures with upper size limits like tables or arrays. The system APIs are designed to not have error conditions such as error codes or exceptions.
The RTOS is designed for applications on embedded devices and includes demo applications for various micro controllers:
- LPC214x
- AT91SAM7X
- STM32F103x
- AVRmega
- MSP430x1611
It is also possible to run the kernel into a Win32 process in a software I/O emulation mode, this allows to easily develop applications without have to use real hardware, an example for the MinGW compiler is included.