Hallo Leute! Vor Kurzem habe ich mich flüchtig mit AVR und ARM7(2138)-Prozessoren auseinandergesetzt. Nun reizt mich das Thema Betriebssysteme auf Mikrocontroller sehr. Damit die Sache halbwegs zukunftssicher ist, dachte ich mir, dass Linux dafür hervorragend geeignet ist. Damit jedoch das ganze System leistungsfähiger wird würde ich auf ARM9-Prozessoren umsteigen. Laut meinen Informationen hat ein Betriebssystem den großen Vorteil, dass man Standardschnittstellen und Protokolle wie USB, TCP-IP sehr einfach einbinden kann. Auch Grafikdisplays sollen relativ einfach anzubinden sein. Ich bin auf eure Antworten sehr gespannt. Lasst uns diskutieren: Welche Betriebssysteme gibt es auf Mikrocontroller grundsätzlich? Welche Vorteile oder auch Tücken haben diese? Welche Prozessoren sind für Betriebssysteme besser oder weniger gut geeignet? Tschüss. Schönes Wochenende. Martin
>Laut meinen Informationen hat ein Betriebssystem den großen Vorteil, >dass man Standardschnittstellen und Protokolle wie USB, TCP-IP sehr >einfach einbinden kann. Auch Grafikdisplays sollen relativ einfach >anzubinden sein. Ein Betriebssystem braucht man eigentlich nur, wenn man "dauernd" die Software ändern will. Die meisten Mikrocontroller-Anwendungen werden aber eher selten bis gar nicht geändert - es läuft also immer das gleiche Programm ab. Schliesslich wäre es ja Quatsch, einem Videorekorder heute mal die Software für einen Geschirrspüler und morgen für ein Kfz-Steuergerät zu verpassen. (Etwas übertrieben zwecks Anschaulichkeit...) Will man die Firmware ändern (Update...) gibt es natürlich verschiedene Möglichkeiten, die zu tun. Allerdings braucht man dafür eher Bootloader statt eines Betriebssystems. Die Treiber, die ein Betriebssystem zur Verfügung stellt, kann man in der Regel beim Compilieren des Programms einbinden (linken). Ergo: Ich sehe keinen Sinn darin, auf Mikrocontrollern Betriebssysteme einzusetzen (vor allem nicht aufg 8bittern). Wenn sich eins zusammenbaut, bleibt es ja sowieso am Hardware-Entwickler hängen, was das System alles kann.
Jau, voll Zustimm. Man baut das Haus doch nicht vom Dach aus. D.h. leg erstmal fest, was Deine MC-Anwendung machen soll. Erst danach kann man überhaupt feststellen, ob ein Betriebssystem benötigt wird. Ein Betriebssystem ist Mumpitz, wenn man es nicht braucht. Nur weil man es schick findet, kann man sich auch nen Knopf an die Backe nähen. Peter
>Nur weil man es schick findet, kann man sich auch nen Knopf an die Backe >nähen. Ob schick oder nicht: Das tut weh!
Eurem Einspruch kann ich nur teilweise zustimmen. Für einfache Aufgaben ist ein OS natürlich absurd. Aber sobald es etwas komplizierter wird, laesst es sich mit einem RTOS viel einfacher und uebersichtlicher programmieren. MfG
> Ob schick oder nicht: Das tut weh!
@Rahul:
Hast wohl schon probiert? g
Ein Betriebssystem an einen Mikrocontroller anpassen,kann je nachdem
wieviele Änderungen an den Hardwarenahen Teilen der Quellen nötig
sind,auch weh tun.Da ist es z.B oft einfacher einen TCP/IP-Stack an die
Hardware anzupassen denn ein komplettes Betriebssystem.
Wenn nur ein Programm/Task auf der Maschine gleichzeitig läuft ist es
sogut wie immer besser,neue Software per Bootloader
einzuspielen.Einziger Vorteil von Betriebssystemen (da gibt´s nicht nur
Linux:z.B RTX oder eCOS) ist es wenn häufig mehrere Anwendungen
gleichzeitig laufen sollen und die auch noch häufig wechseln.Aber das
läuft dann schon eher als Konkurrenz zu Handheld-PCs.
Der Vorteil ist doch auch, dass man tonnenweise Software für bestimmte Betriebssysteme bekommt. Man also vieles nicht selber schreiben muss. Und ebenso Hardwaretreiber. Wer entwickelt schon gerne einen Treiber für einen aktuellen Epson-Scanner oder Canon-Drucker? Bei Linux ist vieles mit dabei. Und wer gerne Programme in Perl, Ruby oder PHP schreibt, findet auch das. Von daher kommt es vor allem drauf an, bei der Analyse zu schauen: Braucht meine Anwendung fast ausschließlich selbst geschriebenen Code oder kann ich auf vieles zurückgreifen, was ein Betriebssystem mir bereits anbietet. Das der Aufwand, sich in ein Betriebssystem tief einzuarbeiten, auch gewaltig sein kann, sollte natürlich auch berücksichtigt werden. Und dann noch das Thema Stabilität und getestete Software: Bei einem Betriebssystem bekommt man oft jede Menge Softwarekomponenten, die über viele Jahre getestet sind und stabil laufen. Ebenso regelmäßig Sicherheitsupdates, falls man sowas braucht. Wenn man Realtime-Anforderungen hat, ist es oft auch besser, ein RTOS zur Hand zu nehmen, als alles selber zu stricken. In manch einem RTOS stecken hunderte Mannjahre Entwicklungsarbeit, warum sollte man das Rad da nochmal neu erfinden?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.