Ich weiß, es läuft unter Linux und es gibt Echtzeit-Patches für Linux. Würden diese Patches funktionieren?
Hat jemand ein anderes Echtzeit-Betriebssystem auf dem Raspberry Pi ausprobiert?
Die Idee ist, die Platine für zeitkritische Regelungs- und Steuerungsaufgaben zu verwenden.
operating-systems
linux
real-time
Lars Pötter
quelle
quelle
Antworten:
Möglicherweise möchten Sie Xenomai auf RaspberryPi ausführen . Hier finden Sie eine Anleitung dazu. Kurz gesagt, Xenomai ist ein Projekt, das einen benutzerdefinierten Linux-Kernel erstellt hat (sie stellen Patches bereit, die auf die Kernelquellen angewendet werden müssen), mit denen ein anderer Kernel (Xenomai-Kern) in Echtzeit ausgeführt werden kann. Auf diese Weise können Xenomai-Anwendungen auf einer Vielzahl von Hardware-Komponenten ausgeführt werden, ohne dass Treiber dafür geschrieben werden müssen (da Linux mit einer Vielzahl von Hardware-Komponenten arbeitet). Dies ermöglicht das Schreiben von RT-Anwenderbereichsanwendungen unter Verwendung verschiedener verfügbarer RT-APIs.
quelle
Im Linux-Kernel bietet die Aktivierung
PREEMPT_RT
begrenzte Latenzen und Echtzeit-APIs. Neben der KonfigurationPREEMPT_RT
müssen auch die RichtlinienSCHED_FIFO
undSCHED_RR
ausgewählt werden. Außerdem müssen die Anwendungen Echtzeitparameter festlegen, indem sie entsprechende APIs aufrufen oder entsprechende Dienstprogramme verwenden.Laut einem Training für freie Elektronen: Echtzeit in Embedded Linux war PREEMPT_RT ein Projekt, das Echtzeitfähigkeit in den Kernel bringt. Es wurde vollständig in den 2.6.33- und 3.0-Kernel-Stream integriert. Im Dokument finden Sie alles.
Grundsätzlich gibt es zwei Ansätze, um dem Linux-Kernel Echtzeitfähigkeit zu verleihen:
PREEMPT_RT
Projekt.RTLinux
,RTAI
, undXenomai
. (Aedos
wieAvio
unten erwähnt?)Bearbeiten:
quelle
RT PREEMPT patch
von Ingo Molnar zusammen mitHigh Resolution Timers
(HRT) -Unterstützung verwendeten Funktionen ermöglichen es dem Kernel, Echtzeitfähigkeiten zu erreichen . Gegenwärtig erreicht die Unterstützung 3.4.11 Kernel und die "gute Nachricht" ist, dass der Patch "schrumpft", so dass es den Anschein hat, als würde das meiste davon in den Mainstream-Kernel-Quellen enthalten sein. Sie können ein hervorragendes Tutorial finden , wie es anzuwenden und hier .Wyolum verwendet den aLaMode (ich nenne ihn den Almond Pi), um stapelbar auf den Pi zu passen. Es verfügt über eine Echtzeituhr, verwendet einen aTiny 328, speist den GPIO Real UART / Strom und ist auf verschiedene Arten flashbar. Es ist großartig, weil der Pi tun kann, was immer Sie wollen, Webserver / Datenbank, während der Arduino in Echtzeit-Interrupt läuft.
quelle
Die beste Lösung, die ich bisher gesehen habe, ist das X10i - Real Time Control Board für Raspberry Pi von Heber.
Der obige Link bietet eine ausgezeichnete und umfassende Dokumentation und sie versuchen, die Treiber mit der neuesten Version von Debian für Pi auf dem neuesten Stand zu halten.
quelle
Hier ist ein Artikel über Raspberry Pi, der mit Xenomai läuft .
quelle
RODOS ist eine weitere Option. Es ist ein Open Source-Projekt, das vom Deutschen Zentrum für Luft- und Raumfahrt und dem Team und den Studenten der Universität von Prof. Montenegro entwickelt wurde.
Es verwendet C ++, ist vollständig objektorientiert geschrieben und unterstützt ARM7, Atmel AVR, STM32 / Cortex-M3, Xilinx, Raspberry Pi :), ...
Es wird derzeit in Satelliten-TET und in LoTTo-Maschinen verwendet, wenn ich das nicht falsch verstanden habe.
Natürlich würde ich es vorziehen, es über Linux (was möglich ist) laufen zu lassen, um das Beste aus beiden Welten zu haben - aber dann bleiben die REAL TIME-Fragen, weil ich nicht sicher bin, ob es möglich ist, dass Linux die richtige API bereitstellt.
Um RODOS zu bekommen, muss man eine Nachricht an Prof. Sergio Montenegro oder das DLR (Deutsches Zentrum für Luft- und Raumfahrt) schreiben.
quelle
Neben Linux gibt es Echtzeit-Betriebssysteme. Sehr beliebt bei den Open-Sourcing-Anbietern ist ChibiOS / RT:
Eine kurze Einführung finden Sie unter http://chibios.org/dokuwiki/doku.php?id=chibios:documents:introduction . Da es sich nicht um Linux handelt, könnten Ihnen auch die Lesarten von
oder nicht. Wenn es Ihnen gefällt, lohnt sich das Experimentieren mit dem Pi möglicherweise unter https://github.com/steve-bate/ChibiOS-RPi :
Der Autor fügt eine nette Anleitung bei
http://www.stevebate.net/chibios-rpi/GettingStarted.html
Wenn es um RTOS geht, ist Linux für mich wie das Tragen von Cross-Alpine-Equipment für einfache ländliche Bedürfnisse. Sie könnten es einfach nicht brauchen. Sogar ein Pi könnte zu viel sein. Noch weniger Gewicht erhalten Sie unter http://forum.arduino.cc/index.php?topic=144715.0 :)
quelle
Siehe diese Version von Hypriot Raspbian mit RT_PREEMPT_FULL:
http://www.ehu.eus/ehusfera/pablogn/2016/01/20/real-time-kernel-for-the-raspberry-sbc/
quelle