Frage

Ich habe in Embedded-Betriebssystemen von einem Geschmack oder eine andere beteiligt sind, und haben in der Regel mit dem, was das Legacy-System musste arbeiten musste. Jetzt habe ich die Chance, von Grund auf neu auf einer neuen Embedded-Projekt zu starten.

Die primären Einschränkungen des Systems sind:

  • Es braucht eine Web-basierte Schnittstelle.
  • Eingänge sind erforderlich, in Echtzeit verarbeitet werden (so ein echter RTOS ist erforderlich).
  • Der verfügbare Speicher ist 32 MB RAM und FLASH.

Die Betriebssysteme, die das Team zuvor VxWorks sind verwendet hat, ThreadX, Ucos, pSOS und Windows CE.

Hat jemand einen Vergleich oder Handel Studie in Bezug auf Betriebssystem Wahl?

Gibt es noch andere Betriebssysteme, die wir in Betracht ziehen sollten? (Wir hatten eCos und RT-Linux vorgeschlagen).

Bearbeiten - Danke für alle Antworten auf dem Laufenden. Schade, ich kann nicht Flagge alle als „akzeptiert“.

War es hilfreich?

Lösung

Es hängt alles davon ab, wie viel Zeit für Ihr Team zugewiesen wurde hat eine „neue“ RTOS zu lernen.
Gibt es Gründe, die Sie nicht wollen, etwas verwenden, die Menschen, die bereits Erfahrung mit haben?

Ich habe viel Erfahrung mit VxWorks und Ich mag es, aber meiner Meinung nach außer Acht lassen, wie ich für Windriver arbeiten.

uC / OS-II hat den Vorteil (wie im Quellcode erläuterte tatsächlich) vollständig dokumentiert in Labrosse Buch. wenn Sie nicht über Web-Support wissen.

Ich weiß pSos ist nicht mehr verfügbar.

Sie können auch einen Blick auf dieser Liste von RTOSes

Andere Tipps

Ich arbeitete mit QNX vor vielen Jahren und haben nichts, aber große Dinge zu sagen. Schon damals QNX 4 (was positiv klobig ist im Vergleich zum Neutrino Microkernel) war perfekt geeignet für Low-Memory-Situationen (obwohl 32 MB sind oodles im Vergleich zum 1-2MB, dass wir mit spielen hatten), und während ich nicht explizit mit jedem Web-basierten Sachen gespielt haben, weiß ich Apache zur Verfügung.

ich denke, es wäre klug, sorgfältig zu bewerten, was Sie unter „RTOS“ bedeuten. Ich habe seit Jahren bei einem großen Unternehmen gearbeitet, die High-Performance Embedded-Systeme baut, und sie beziehen sich auf sie als „Echtzeit“, aber das ist nicht das, was sie wirklich sind. Sie sind mit geringer Latenz und haben determinis Disponenten und 9 mal von 10, das ist, was die Leute sind wirklich nach, wenn sie RTOS sagen.

True Echtzeit erfordert Hardware-Unterstützung und ist wahrscheinlich nicht das, was Sie wirklich bedeuten. Wenn alle möchten, dass Sie mit niedriger Latenz und deterministisch Scheduling ist (wieder, ich denke, das ist, was die Menschen 90% der Zeit bedeuten, wenn sie „real-time“ sagen), dann würde jede Linux-Distribution für Sie gut funktionieren. Sie könnten wahrscheinlich auch erhalten, indem unter Windows (Ich bin nicht sicher, wie Sie die Windows-Scheduler steuern obwohl ...).

Wieder nur vorsichtig sein, was Sie unter „Echtzeit“ bedeuten.

Ich kaufte einige Entwicklungs-Hardware von NetBurner Es war sehr leicht zu verarbeiten und sehr gut dokumentiert. Es ist ein RTOS läuft uCLinux. Das Unternehmen ist groß, mit zu arbeiten.

Es könnte eine kluge Entscheidung, ein Betriebssystem zu wählen, die Ihr Team mit erlebt. Ich möchte jedoch zwei gute Möglichkeiten Open Source fördern:

Beide haben eine Menge Funktionen und Treiber für eine Vielzahl von Architekturen. Sie haben nicht, was Architektur erwähnen Sie verwenden wird. Sie bieten POSIX Schichten, die schön ist, wenn man so portabel wie möglich bleiben.

Auch die Lizenz sowohl für eCos und RTEMS ist GPL aber mit einer Ausnahme, so dass die ausführbaren Datei, die durch die Verknüpfung gegen den Kern erzeugt wird, wird nicht von GPL abgedeckt.

Die Gemeinden sind sehr aktiv und es gibt Unternehmen, die kommerzielle Unterstützung und Entwicklung.

Wir haben sehr zufrieden mit dem Keil RTX System .... leicht und schnell und erfüllen alle unsere engen Echtzeit Einschränkungen. Es hat auch einige schöne Debugging-Funktionen eingebaut Stack-Überlauf zu überwachen, etc.

Ich habe ziemlich glücklich mit Windows CE gewesen, obwohl es 'schwerer'.

Posting mit Ben Collins zustimmen - Sie wirklich brauchen, um festzustellen, ob Sie eine weichen Echtzeit-Anforderung (in erster Linie für die menschliche Interaktion) oder harte Echtzeitanforderung (für mit Timing empfindlichen Geräten Schnittstelle)

Soft kann auch bedeuten, dass Sie jeder einmal in einer Weile einig Schluckauf tolerieren kann.

Was ist die Zuverlässigkeitsanforderungen? Meine Erfahrung mit mehr Allzweck- Betriebssysteme wie Linux in Embedded ist, dass sie zufällig Schluckauf erleben neigen aufgrund ihrer intelligenten durchschnittlichen Fall Optimierungen, die versuchen, Hunger und ähnliche für einzelne Aufgaben zu vermeiden.

VxWorks ist gut:

  1. gute Dokumentation;
  2. freundliches Entwicklungswerkzeug;
  3. mit geringer Latenz;
  4. determinis Scheduling.

Ich bezweifle jedoch, dass Windriver ihre große Aufmerksamkeit auf Linux und Linux Windriver in den Markt der Windriver VxWorks brechen würde umwandeln würde. Weniger Markt, weniger Bedarf an Ingenieuren.

Hier ist die aktuelle Studie. Die letzte wurde vor mehr als 8 Jahren getan, um diese am relevantesten ist. Die Tabellen können verwendet werden, um zusätzliche RTOS Auswahl hinzuzufügen. Sie werden bemerken, dass dieser Vergleich auf leichtere Maschinen fokussiert ist, sondern gleichermaßen auf schwerere Maschinen virtuellen Speicher zur Verfügung gestellt ist nicht erforderlich.

http: // www. embedded.com/design/operating-systems/4425751/Comparing-microcontroller-real-time-operating-systems

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top