Sé que ejecuta Linux y hay parches en tiempo real disponibles para Linux. ¿Funcionarían esos parches?
¿Alguien ha intentado otro sistema operativo en tiempo real en la Raspberry Pi?
La idea es usar el tablero para trabajos de regulación y control que son críticos en el tiempo.
operating-systems
linux
real-time
Lars Pötter
fuente
fuente
Respuestas:
Puede que le interese ejecutar Xenomai en RaspberryPi. Aquí puede encontrar un tutorial sobre cómo hacer esto. En pocas palabras, Xenomai es un proyecto que creó un kernel de Linux personalizado (proporcionan parches que deben aplicarse a las fuentes del kernel) que le permiten ejecutar otro kernel (núcleo de Xenomai) que es en tiempo real. Esto hace posible ejecutar aplicaciones Xenomai en una amplia gama de hardware sin la necesidad de escribir controladores para ellas (ya que Linux está trabajando en una amplia gama de hardware). Esto permite escribir aplicaciones de espacio de usuario RT utilizando un par de API RT diferentes disponibles.
fuente
En el kernel de Linux, la habilitación
PREEMPT_RT
proporcionará latencias limitadas y API en tiempo real. Además de la configuraciónPREEMPT_RT
, las políticasSCHED_FIFO
ySCHED_RR
también deben seleccionarse. Y las aplicaciones necesitan establecer parámetros en tiempo real llamando a las API apropiadas o utilizando utilidades apropiadas.De acuerdo con un entrenamiento de electrones libres: Realtime in Embedded Linux , PREEMPT_RT fue un proyecto que brinda capacidad en tiempo real al kernel. Se ha plegado completamente en la secuencia del kernel 2.6.33 y 3.0. Vea el documento encontrará todo.
Básicamente ha habido dos enfoques para llevar la capacidad en tiempo real al kernel de Linux:
PREEMPT_RT
proyecto.RTLinux
,RTAI
, yXenomai
. (Aedos
como seAvio
menciona a continuación?)Editar:
fuente
RT PREEMPT patch
de Ingo Molnar junto con el soporteHigh Resolution Timers
(HRT) , permite que el núcleo logre capacidades en tiempo real . En la actualidad, su soporte alcanza los núcleos 3.4.11 , y la "buena noticia" es que el parche "se está reduciendo", por lo que parece que la mayor parte se está incluyendo en las fuentes principales del núcleo. Puede encontrar un excelente tutorial sobre cómo aplicarlo y usarlo aquí .Wyolum mas el aLaMode (lo llamo el Almond Pi) para caber encima del Pi de una manera apilable. Tiene un reloj en tiempo real, usa un aTiny 328, se alimenta de GPIO Real UART / power y se puede flashear de varias maneras. Es genial porque el Pi puede hacer lo que quieras, servidor web / base de datos, mientras que el Arduino se ejecuta en interrupción en tiempo real.
fuente
La mejor solución que he visto para esto es la X10i - Tablero de control en tiempo real para Raspberry Pi de Heber.
El enlace anterior proporciona documentación excelente y extensa e intentan mantener actualizados los controladores con la última versión de Debian para Pi.
fuente
Aquí hay un artículo (traducido al francés por google translate) sobre Raspberry Pi que se ejecuta con Xenomai .
fuente
RODOS es otra opción más. Es un proyecto de código abierto desarrollado por el Centro Aeroespacial Alemán y el equipo y estudiantes de la Universidad Prof. Montenegro.
Está usando C ++, está completamente escrito de forma orientada a objetos y es compatible con ARM7, Atmel AVR, STM32 / Cortex-M3, Xilinx, Raspberry Pi :), ...
Actualmente se usa en TET por satélite y en máquinas LoTTo si no me equivoqué.
Por supuesto, preferiría ejecutarlo sobre Linux (lo que es posible) para tener lo mejor de ambos mundos, pero las preguntas en TIEMPO REAL permanecen, porque no estoy seguro de si es posible que Linux pueda proporcionar la API correcta.
Para obtener RODOS uno tiene que escribir un mensaje al Prof. Sergio Montenegro o al DLR (Centro Aeroespacial Alemán).
fuente
Además de Linux, hay sistemas operativos en tiempo real. bastante popular entre los de código abierto es ChibiOS / RT:
Una breve introducción se encuentra en http://chibios.org/dokuwiki/doku.php?id=chibios:documents:introduction . siendo diferente de Linux también te pueden gustar las lecturas de
o no. si te gusta, experimentar en el pi podría valer la experiencia en https://github.com/steve-bate/ChibiOS-RPi :
el autor agrega una buena guía en
http://www.stevebate.net/chibios-rpi/GettingStarted.html
Personalmente, cuando se trata de rtos, para mí, Linux es como llevar equipos de cross-alpine para las necesidades del país. Es posible que no lo necesites. incluso un pi podría ser demasiado. echa un vistazo a http://forum.arduino.cc/index.php?topic=144715.0 para obtener aún menos peso :)
fuente
Vea esta versión de Hypriot Raspbian con RT_PREEMPT_FULL:
http://www.ehu.eus/ehusfera/pablogn/2016/01/20/real-time-kernel-for-the-raspberry-sbc/
fuente