FreeRTOS | ||
---|---|---|
Parte de Real-time operating systems | ||
Información general | ||
Tipo de programa | Sistema operativo embebido | |
Desarrollador | Amazon Web Services | |
Licencia | ||
Información técnica | ||
Programado en | C | |
Plataformas admitidas |
| |
Versiones | ||
Última versión estable | 202212.014 de marzo de 2023 | |
Enlaces | ||
FreeRTOS Es un sistema operativo de tiempo real kernel para dispositivos embebidos que ha sido portado a 35 plataformas de microcontrolador.[2][3][4] Está distribuido bajo la licencia MIT.
FreeRTOS está diseñado para ser pequeño y simple. El núcleo en sí consta de solo tres archivos implementados en C. Para hacer que el código sea legible, fácil de portar y mantener, está escrito principalmente en C, pero hay un par de funciones en assembler que están incluidas en donde se necesitan principalmente en rutinas de planificación de arquitectura específica.
FreeRTOS Proporciona métodos para múltiples subprocesos o hilos, mutexes, semáforos y temporizadores de software. Además de admitir prioridades de hilos.
Tiene un modo tickless para reducir el consumo energético. En FreeRTOS las aplicaciones pueden ser asignadas de manera completamente estáticas. Alternativamente en RTOS los objetos pueden ser asignados de manera dinámica con cinco esquemas previstos de asignación de memoria :
No hay ninguna de las funciones más avanzadas que se encuentran normalmente en sistemas operativos como Linux o Microsoft Windows, como controladores de dispositivos, administración avanzada de memoria, cuentas de usuario y redes. El énfasis está en la compacidad y la velocidad de ejecución. FreeRTOS se puede considerar como una 'biblioteca de hilos' en lugar de un 'sistema operativo'. Aunque la interfaz de línea de comandos y los complementos de abstracción de E / S similares a POSIX-like están disponibles.
FreeRTOS implementa múltiples subprocesos haciendo que el programa anfitrión llame a un método de marcación de subprocesos a intervalos cortos y regulares. El método de marca de hilo cambia las tareas en función de la prioridad y un esquema de programación de turno rotativo. El intervalo habitual es de 1/1000 de segundo a 1/100 de segundo, a través de una interrupción de un temporizador de hardware, pero este intervalo a menudo se cambia para adaptarse a una aplicación en particular.
La descarga contiene configuraciones y demostraciones preparadas para cada puerto y compilador. Lo que permite un rápido diseño de la aplicación. El sitio FreeRTOS.org también contiene una gran cantidad de documentación y tutoriales de RTOS (manuales adicionales y tutoriales están disponibles por una tarifa), así como detalles del diseño de RTOS.
SafeRTOS fue construido como una oferta complementaria a FreeRTOS, con la funcionalidad común pero con un único diseñado críticos para la seguridad de la implementación. Cuando el FreeRTOS modelo funcional fue sometido a una completa HAZOP, debilidad con respecto al mal uso por el usuario y falla de hardware en el modelo funcional de la API fueron identificados y resueltos. El resultado de requerimientos se ha de poner a través de un completo IEC 61508 SIL 3 ciclo de vida de desarrollo, lo más alto posible para un software único componente.
SafeRTOS fue desarrollado por los sistemas de alta integridad WITTENSTEIN, en asociación con Real Time Engineers Ltd, desarrollador principal del proyecto FreeRTOS.[5] Tanto SafeRTOS como FreeRTOS comparten el mismo algoritmo de programación, tienen API similares,[6] pero se desarrollaron con objetivos diferentes.[7] SafeRTOS se desarrolló únicamente en el lenguaje C para cumplir con los requisitos de certificación IEC61508.[8]
SafeRTOS es conocido por su capacidad para residir únicamente en el chip de memoria de solo lectura de un microcontrolador para el cumplimiento de los estándares.[9] Cuando se implementa en hardware de memoria, SafeRTOS código solo puede ser utilizado en su configuración original, por lo que las pruebas de certificación de los sistemas que utilizan este sistema operativo no necesita volver a probar esta porción de sus diseños en la seguridad funcional para el proceso de certificación.[10]
SafeRTOS está incluido en la ROM de algunos microcontroladores Stellaris de Texas Instruments. Esto permite que SafeRTOS se utilice en aplicaciones comerciales sin tener que comprar su código fuente. En este escenario de uso, se utiliza un archivo de cabecera C simple para asignar las funciones de la API de SafeRTOS a su ubicación en la memoria de solo lectura. El uso de la memoria de solo lectura es ideal porque el código que contiene no se puede cambiar, lo que elimina la posibilidad de un error del usuario y garantiza que el código que se probó originalmente permanezca absolutamente idéntico durante toda la vida útil del proyecto. No será necesario volver a realizar pruebas a medida que el código de la aplicación crezca y evolucione a su alrededor. La carga de las pruebas complejas del kernel se elimina ya que la evidencia de certificación ya certificada y aprobada, incluido el plan de prueba, el código y los resultados, se puede comprar "fuera de la plataforma".