Forum: Mikrocontroller und Digitale Elektronik Betriebssysteme für Mikrocontroller


von Martin M. (martin1)


Lesenswert?

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

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

>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.

von Peter D. (peda)


Lesenswert?

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

von unsichtbarer WM-Rahul (Gast)


Lesenswert?

>Nur weil man es schick findet, kann man sich auch nen Knopf an die Backe
>nähen.

Ob schick oder nicht: Das tut weh!

von Mehmet K. (mkmk)


Lesenswert?

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

von Ronny (Gast)


Lesenswert?

> 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.

von Winfried (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.