ChibiOS / RT es un sistema operativo en tiempo real compacto y rápido que admite múltiples arquitecturas y se publica bajo una combinación de licencias GPL3 y Apache 2.0 (según el módulo). Está desarrollado por Giovanni Di Sirio.
Las licencias comerciales están disponibles en ChibiOS . Los productos adicionales incluyen ChibiOS/HAL, una capa de abstracción de hardware compatible con ChibiOS/RT, y ChibiStudio, un entorno de desarrollo libre basado en Eclipse, GNU Compiler Collection y el módulo de depuración OpenOCD JTAG .
Métrica ChibiOS/RT está diseñado para aplicaciones integradas en microcontroladores de 8, 16 y 32 bits; el tamaño y la eficiencia de ejecución son los principales objetivos del proyecto. Como referencia, el tamaño del kernel puede variar desde un mínimo de 1.2 KiB hasta un máximo de 5,5 KiB con todos los subsistemas activados en un procesador STM32 Cortex-M3 . El kernel es capaz de superar los 220.000 subprocesos creados/terminados por segundo y puede realizar un cambio de contexto en 1,2 microsegundos en un STM32 a 72 MHz. Se incluyen métricas similares para todas las plataformas compatibles en la distribución de origen como informes de prueba.
Características El microkernel ChibiOS/RT admite:
Multi-hilo preventivo 128 niveles de prioridad Programación por turnos para subprocesos en el mismo nivel de prioridad Temporizadores de software Contadores de semáforos Mutex con soporte para el algoritmo de herencia prioritaria Variables de condición Mensajes sincrónicos y asincrónicos Indicadores y controladores de eventos Colas E / S sincrónicas y asincrónicas con capacidad de tiempo de espera Hilo de seguridad con pila de memoria y el bloque de memoria asignadores. Capa de abstracción de hardware compatible con controladores ADC, CAN, GPT (temporizador de uso general), EXT, I²C, ICU, MAC, MMC / SD, PAL, PWM, RTC, SDC, Serial, SPI y USB . Soporte para pilas LwIP y uIP TCP / IP. Soporte para la biblioteca del sistema de archivos FatFs.
Todos los objetos del sistema, como hilos, semáforos, temporizadores, etc., se pueden crear y eliminar en tiempo de ejecución. No hay límite superior excepto para la memoria disponible. Para aumentar la fiabilidad del sistema, la arquitectura del kernel es completamente estática, no se requiere un asignador de memoria (pero está disponible como una opción) y no hay estructuras de datos con límites de tamaño superiores como tablas o pilas. Las API del sistema están diseñadas para no tener condiciones de error, como códigos de error o excepciones.
Los RTOS están diseñados para aplicaciones en dispositivos integrados e incluye aplicaciones de demostración para varios microcontroladores :
ST STM32F1xx, STM32F2xx, STM32F3xx, STM32F4xx, STM32L1xx, STM32F0xx ST STM8S208x, STM8S105x, STM8L152x ST / Freescale SPC56x / MPC56xx NXP LPC11xx, LPC11Uxx, LPC13xx NXP LPC2148 Atmel AT91SAM7S, AT91SAM7X Atmel Mega AVR TI MSP430x1611 TI TM4C123G y TM4C1294 Microchip PIC32MX
Los puertos contribuidos también están disponibles para las familias Coldfire y H8S .
ChibiOS/RT también ha sido portado a Raspberry Pi y se han implementado los siguientes controladores de dispositivo: Puerto (GPIO), Serie, GPT (Temporizador de uso general), I2C, SPI y PWM.
Además es posible ejecutar el kernel en un proceso Win32 en un modo de emulación de E/S de software, lo que permite un fácil desarrollo de aplicaciones sin necesidad de hardware físico. Se incluye un ejemplo para el compilador MinGW .
uGFX ChibiOS/RT es totalmente compatible con el kit de herramientas GUI µGFX . µGFX se conocía anteriormente como ChibiOS/GFX.
Véase también Comparación de sistemas operativos de código abierto Una explicación detallada del subproceso múltiple en ChibiOS / RT
Referencias
Enlaces externos
Página de inicio y documentación de ChibiOS/RT Soporte y página del proyecto ChibiOS/RT
Categoría:Sistemas operativos ARM Categoría:Sistemas operativos libres Categoría:Sistemas operativos embebidos Categoría:Sistemas operativos de tiempo real