Articulo de referencia

FreeRTOS

FreeRTOS es un núcleo de sistema operativo en tiempo real [ 3 ] [ 4 ] [ 5 ] para dispositivos embebidos que ha sido portado a 40 plataformas de microcontroladores . Se distribuy...

FreeRTOS es un núcleo de sistema operativo en tiempo real [ 3 ] [ 4 ] [ 5 ] para dispositivos embebidos que ha sido portado a 40 plataformas de microcontroladores . Se distribuye bajo la licencia MIT .

Historia

El núcleo de FreeRTOS fue desarrollado originalmente por Richard Barry alrededor de 2003, y posteriormente fue desarrollado y mantenido por su empresa, Real Time Engineers Ltd. En 2017, la empresa cedió la gestión del proyecto FreeRTOS a Amazon Web Services (AWS). Barry continúa trabajando en FreeRTOS como parte de un equipo de AWS. [ 6 ] Con la transición al control de Amazon, las versiones posteriores del proyecto también cambiaron la licencia de GPL versión 2 (con excepciones especiales para el enlace estático a código propietario fuera del propio núcleo de FreeRTOS) a MIT. [ 7 ]

Implementación

FreeRTOS está diseñado para ser pequeño y sencillo. Está escrito principalmente en lenguaje de programación C para facilitar su portabilidad y mantenimiento. También incluye algunas funciones en lenguaje ensamblador cuando es necesario, sobre todo en rutinas de cambio de contexto específicas de la arquitectura utilizadas por el planificador.

Gestión de procesos

FreeRTOS proporciona métodos para múltiples subprocesos o tareas , mutexes , semáforos y temporizadores de software . Se ofrece un modo sin temporizador para aplicaciones de bajo consumo. Se admiten prioridades de subprocesos. Las aplicaciones de FreeRTOS se pueden asignar estáticamente, pero los objetos también se pueden asignar dinámicamente con cinco esquemas de gestión de memoria (asignación):

  • asignar solamente;
  • Asignación y liberación mediante un algoritmo muy simple y rápido;
  • un algoritmo de asignación y liberación más complejo pero rápido con coalescencia de memoria ;
  • una alternativa al esquema más complejo que incluye la coalescencia de memoria, que permite dividir un montón en múltiples áreas de memoria.
  • y la biblioteca C asigna y libera con cierta protección de exclusión mutua.

Los sistemas operativos en tiempo real (RTOS) generalmente carecen de las funciones más avanzadas que se encuentran en sistemas operativos como Linux y Microsoft Windows , tales como controladores de dispositivos , administración avanzada de memoria y cuentas de usuario. El énfasis se centra en la compacidad y la velocidad de ejecución. FreeRTOS puede considerarse más una biblioteca de subprocesos que un sistema operativo, aunque ofrece una interfaz de línea de comandos y una abstracción de entrada/salida (E/S) similar a POSIX.

FreeRTOS implementa la gestión de múltiples hilos mediante llamadas periódicas a un método de actualización de hilo. Este método cambia de tarea según la prioridad y un esquema de planificación round-robin . El intervalo habitual es de 1 a 10 milisegundos ( 1/1000 a 1/100 de segundo ) mediante una interrupción de un temporizador de hardware, pero este intervalo suele modificarse para adaptarse a la aplicación.

La distribución del software incluye configuraciones predefinidas y demostraciones para cada puerto y compilador, lo que permite un diseño rápido de aplicaciones. El sitio web del proyecto ofrece documentación, tutoriales sobre el sistema operativo en tiempo real (RTOS) y detalles sobre su diseño.

Características principales

  • Libros y manuales de referencia.
  • Tamaño de memoria reducido, bajo consumo de recursos y ejecución rápida.
  • Opción sin temporizador para aplicaciones de baja potencia.
  • Dirigido tanto a aficionados como a desarrolladores profesionales que trabajan en productos comerciales.
  • El planificador se puede configurar para multitarea tanto preventiva como cooperativa.
  • Compatibilidad con corrutinas (las corrutinas en FreeRTOS son tareas simples y ligeras con un uso limitado de la pila de llamadas ).
  • Soporte para el rastreo mediante macros de rastreo genéricas. Herramientas como Tracealyzer, una herramienta comercial de Percepio, socio de FreeRTOS, permiten registrar y visualizar el comportamiento en tiempo de ejecución de sistemas basados ​​en FreeRTOS para su depuración y verificación. Esto incluye la planificación de tareas y las llamadas al kernel para operaciones con semáforos y colas.

Arquitecturas compatibles

Derivaciones

Amazon FreeRTOS

Amazon proporciona una extensión de FreeRTOS ahora obsoleta, que consiste en FreeRTOS con bibliotecas para soporte de Internet de las cosas (IoT), específicamente para Amazon Web Services . Desde la versión 10.0.0 en 2017, Amazon ha asumido la responsabilidad del código de FreeRTOS, incluyendo cualquier actualización del núcleo original. [ 9 ] [ 10 ] [ 11 ]

SAFERTOS

SAFERTOS se desarrolló como una versión complementaria de FreeRTOS, con funciones comunes, pero diseñada para su implementación en entornos críticos para la seguridad. FreeRTOS se sometió a un estudio de riesgos y operabilidad (HAZOP), y se identificaron y resolvieron sus debilidades. El resultado se sometió a un ciclo de vida de desarrollo completo según la norma IEC 61508 SIL 3, el nivel más alto para un componente exclusivamente de software.

SAFERTOS fue desarrollado por Wittenstein High Integrity Systems, en colaboración con Real Time Engineers Ltd, desarrollador principal [ 3 ] del proyecto FreeRTOS. [ 12 ] Tanto SAFERTOS como FreeRTOS comparten el mismo algoritmo de planificación, tienen interfaces de programación de aplicaciones ( API ) similares y, por lo demás, son muy similares, [ 13 ] pero fueron desarrollados con objetivos diferentes. [ 14 ] SAFERTOS fue desarrollado exclusivamente en lenguaje C para cumplir con los requisitos de certificación según IEC61508. [ 15 ]

SAFERTOS puede residir únicamente en la memoria de solo lectura (ROM) integrada en el chip de un microcontrolador para cumplir con los estándares. [ 16 ] Cuando se implementa en la memoria del hardware, el código SAFERTOS solo puede usarse en su configuración original y certificada. Esto significa que la certificación de un sistema no requiere volver a probar la parte del núcleo del diseño. [ 17 ] SAFERTOS está incluido en la ROM de algunos microcontroladores Stellaris [ 18 ] de Texas Instruments. No es necesario comprar el código fuente de SAFERTOS por separado. En este escenario de uso, se utiliza un archivo de encabezado C para asignar las funciones de la API de SAFERTOS a su ubicación en la memoria de solo lectura.

OPENRTOS

OPENRTOS es una versión con licencia comercial de Amazon FreeRTOS, vendida por Wittenstein High Integrity Systems. Este producto ofrece soporte y permite a las empresas utilizar el núcleo y las bibliotecas de Amazon FreeRTOS bajo los términos de una licencia comercial en lugar de la licencia de código abierto MIT. [ 19 ] [ 20 ]

Véase también

Referencias

  1. "Lanzamientos de FreeRTOS en GitHub" . GitHub . 15 de diciembre de 2025.
  2. "Licencia de código abierto FreeRTOS" . 22/12/2017.
  3. 1 2 "Estudio de mercado de sistemas embebidos de 2011" . EE Times. Archivado del original el 2 de abril de 2012.
  4. Kolesnik, Sergey (2013-12-08). "Comparación de sistemas operativos en tiempo real para microcontroladores" . Un kernel no es un RTOS, pero esto puede generar confusión debido a la nomenclatura inapropiada de algunos kernels populares, como 'freeRTOS'.
  5. "¿Por qué RTOS y qué es RTOS?" . Archivado del original el 7 de agosto de 2016. Recuperado el 29 de agosto de 2014. ¿Qué es FreeRTOS? … Las limitaciones de tamaño y la naturaleza específica de las aplicaciones finales rara vez justifican el uso de una implementación completa de RTOS, o incluso hacen posible su uso. Por lo tanto, FreeRTOS proporciona únicamente las funciones básicas de planificación en tiempo real , comunicación entre tareas, temporización y primitivas de sincronización. Esto significa que se describe con mayor precisión como un núcleo en tiempo real o un ejecutivo en tiempo real. …
  6. "RTOS - Sistema operativo en tiempo real robusto y desarrollado profesionalmente, gratuito, para el desarrollo de pequeños sistemas embebidos" .
  7. "Actualización a FreeRTOS V10.0.0 con licencia MIT" . GitHub .
  8. "Uso de FreeRTOS en microcontroladores RISC-V" . FreeRTOS . Consultado el 11 de septiembre de 2019 .
  9. "Amazon FreeRTOS" . Amazon . Consultado el 28 de noviembre de 2018 .
  10. "Preguntas frecuentes: Amazon FreeRTOS" . FreeRTOS. Archivado del original el 30 de abril de 2022. Consultado el 28 de noviembre de 2018 .
  11. "Amazon FreeRTOS es un nuevo sistema operativo para IoT" . TechCrunch. 29 de noviembre de 2017. Consultado el 4 de diciembre de 2018 .
  12. "FreeRTOS" . Consultado el 8 de agosto de 2012 .
  13. "SmartBotPaper" (PDF) . Archivado del original (PDF) el 4 de julio de 2012. Consultado el 8 de agosto de 2012 .
  14. "Relación entre FreeRTOS y SAFE RTOS " . Archivado del original el 19 de agosto de 2016. Consultado el 13 de septiembre de 2012 .
  15. "EETimesSafetyCritical" . Consultado el 8 de agosto de 2012 .
  16. "Diseño de sistemas embebidos en Europa" . Archivado del original el 23 de octubre de 2012. Consultado el 10 de agosto de 2012 .
  17. "Texas Instruments" (PDF) . Archivado del original (PDF) el 4 de julio de 2013. Consultado el 10 de septiembre de 2012 .
  18. Gama de productos TI Stellaris
  19. "OPENRTOS" . High Integrity Systems . Consultado el 28 de noviembre de 2018 .
  20. "Licencia de código abierto de FreeRTOS" . FreeRTOS . Consultado el 28 de noviembre de 2018 .
  • Sitio web oficialEdita esto en Wikidata
Obtenido de " https://en.wikipedia.org/w/index.php?title=FreeRTOS&oldid=1363125222 "