Frage

Ein Weg, um es zu betrachten -. Embedded Linux startet mit Desktop-Linux & Gräben die Teile nicht für eingebettete Systeme benötigt (? Ist dies tatsächlich wahr), während eCos von Grund auf für Embedded-Systeme ausgelegt ist,

Nun, einen ARM-Prozessor übernehmen, wahrscheinlich 7 ARM - ist die Leistung einen Unterschied machen? Eigentlich sprechen wir ein sehr niedriges Lastsystem, max 500 Transaktionen pro Tag.

Jede Vorteile des einen über den anderen (oder FreeRTOS, usw.)? Stabilität, Laufzeit, Leistung, Entwicklungs-Tools, etwas anderes?

Alles, was ich denken kann, ist, dass, wenn ich sicher , dass ich nie Port zu einem anderen o / s, dann, wenn ich mit Embedded Linux gehen, ich brauche kein o / s Abstraktionsschicht mir zu erlauben, Unit-Tests auf dem Host (Desktop-Linux-Box) zu tun.

Alle Gedanken oder Kommentare? Danke.

War es hilfreich?

Lösung

Jedes Gerät, das ich Linux habe auf gestartet gestellt von Grund auf und war nicht eine Version einiger Verteilung abgespeckte.

eCos und Linux haben unterschiedliche Ziele. Linux sollte eine voll funktionsfähigen Unix-artiges System sein und folglich ist nicht so besorgt über Mindest-Systemanforderungen. eCos ist ein Echtzeit-Betriebssystem für Systeme, die oft gezwungen Ressource. Es gibt viele Überschneidungen zwischen den beiden Betriebssystemen und in vielen Situationen beide gleichermaßen gut funktionieren werden.

In meiner Erfahrung, wenn Ihr System die Ressourcen und Ihre Anforderungen sind nicht-trivial ist, wird die Entwicklung schneller gehen mit Linux. Es ist einfacher, kompetenter Linux-Entwickler als RTOS-Entwickler zu finden, die Werkzeuge sind billiger, sind Prozesse voneinander geschützt, Sie neigen dazu, einen besseren Einblick in das laufende System zu haben, etc.

Ein (besser, IMHO) Alternative zu eCos ist RTEMS ( http://www.rtems.com ) . Es ist schon länger und ich das letzte Mal überprüft, unterstützt mehr Architekturen als eCos. Es hat auch einen PC BSP und läuft unter Qemu für die Emulation.

Andere Tipps

Es gibt keinen wirklichen Nutzen Linux IMO auf einem ARM7 bei der Umsetzung; ARM7 hat keine MMU und Speicherschutz ist ein Hauptgrund für ein Betriebssystem wie Linux verwenden. uClinux wird ohne MMU auf Ziele laufen, aber Sie haben eine der zwingenden Grund verloren für Linux verwenden und müssen noch die großen Speicherressourcen (A 4M Flash, 16 MB RAM ein vernünftiges Minimum wäre).

Viele ARM7-Geräte haben keine externen Speicherbusse für so viel Speicher angebracht wird, und auf Chip-Flash und RAM liegen typischerweise im Bereich 32K bis 1 M bilden je nach Gerät.

Linux ist nicht eigen „Echtzeit“. Für die Echtzeitfähigkeit ist es oft mit einem Echtzeit-Kernel gekoppelt, wo Linux im Wesentlichen als Idle-Task ausgeführt wird, oder auf Ziele mit der Fähigkeit, als separate virtuelle Maschine. Wenn also deterministisch und schnelle Reaktion auf externe Ereignisse eine Anforderung ist, werden Sie ein RTOS wie eCOS benötigen.

ist eCOS groß, dass es ein großes Ökosystem von Add-On-Funktionen und Geräteunterstützung hat, dass Rivalen die meisten kommerziellen Angebote. Jedoch sind so etwas wie FreeRTOS wahrscheinlich leichter zu ‚Bring-up‘, sondern bieten nicht mehr als einen Thread-Scheduler und Interprozess-Kommunikationsmechanismen. Stuff wie ein Dateisystem oder TCP / IP-Bedarf von Dritten bezogen werden (obwohl es ebenso kleine und freien Lösungen für Embedded-Systeme für das auch).

Wenn Sie einen einfachen Kernel wie FreeRTOS oder uC / OS-III verwenden, werden Sie nicht zu viel Zeit verschwendet haben, so dass die Investition nicht um einen Inhibitor handelt nächstes Mal etwas anderes zu verwenden. Linux auf der anderen Seite können Sie auch davon abhalten, mit etwas kleinen und enger beim nächsten Mal gezielt und nachfolgende Projekte Tour kann wesentlich mehr kosten, als sie müssen nur Ihr Betriebssystem der Wahl zu unterstützen.

Embedded Linux == Linux in 99% aller Fälle. Sie konfigurieren nur den Kernel anders.

Größte Unterschied in der Leistung ist, dass mit eCos können Sie, je nach Ihrer Implementierung / Konfiguration, haben eine erwartete Antwortzeit, während mit Linux Sie auf Gedeih und Verderb des Interrupt-Controllers sind.

Linux hat eine viel größere Fangemeinde als eCos damit mehr Hilfe für die Entwicklung und unterstützt eine breite Palette von CPUs. Auch je nachdem, was Treiber, die Sie wollen, können Sie Ihr Programm auf einem PC unter Linux kompilieren und ausführen.

Linux kann lockups / Deadlocks erkennen und automatische Antworten senden / neu startet eine hohe Verfügbarkeit des Systems zu halten.

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