mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik OS funktionalität auf MCU


Autor: McReaper (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das Thema wurde bestimmt schon viele male angesprochen. Sehe ich das 
richtig das eine "Betriebssystem" für eine MCU (egal ob C51 ARM7 oder 
andere) lediglich Tasks verwaltet?
Bei uns geht jemand davon aus das eine Betriebssystem für eine MCU das 
gleiche übernimmt wie ein DOS oder Linux sprich Hardwareunabhängigkeit 
(in besonderer Hinsicht auf Schnittstellen; COM; I2C; CAN; LCD 
Ansteuerung... ).
Ich kenne allerdings kein OS welches diese Funktionalität bereitstellen 
würde. Gibt es solche Betriebssysteme für eine MCU welche die 
Ansteuerung der Hardware übernimmt?


Grüße

McReaper

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wen DOS und Linux hardwareunabhängig wären, dann würde sie auch auf 
einem TinyAVR laufen ;P
"Hardware-Abstraktion" kann ein BS bieten muß es aber nicht.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Hardwareunabhängigkeit macht nicht das OS.

Das OS bietet Dir nur die Möglichkeit, Treiber (DLL) zu installieren, 
die dann speziell auf die Hardware zugeschnitten sind.
Oftmals braucht man dazu noch nen SW-Treiber, der dann darauf 
Protokollschichten implementiert.

Das alles macht man bei nem MC einfach durch ne Bibliothek.

Da aber die HW auf nem MC nicht standardisiert ist, sondern man quasi 
alles dranklatschen kann, findest Du oft nicht eine fertige Bibliothek, 
sondern mußt sie selber schreiben.


Peter

Autor: McReaper (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit der Hardwareunabhängigkeit sollte nur eine Beispiel sein.
Natürlich kann man Dos nicht einfach auf einen C51 packen. ^^

Aber gibt es denn ein Betriebssystem für MCU's was eine 
"Hardware-Abstarktion" bereitstellt?

Autor: McReaper (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also muss man zwangsläufig entweder eine Bibliothek für das 
entsprechende OS (z.B. FreeRtos) finden oder sie wie gehabt selber 
schreiben.

Man hat im eigentlichen Sinne keine Hardwareunabhängigkeit sodern ist 
immer noch an eine MCU bzw. eine Serie gebunden. Wenn man beispielsweise 
von einem ARM7 auf einen Cortex wechseln würde, hat man eigentlich keine 
Möglichkeit sich das schreiben der "Hardware-Treiber" zu ersparen oder?

Gibt es denn ein OS welches viele Bibliotheken bereitstellt?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
McReaper schrieb:

> Aber gibt es denn ein Betriebssystem für MCU's was eine
> "Hardware-Abstarktion" bereitstellt?

Kommt auf deine Definition von "MCU" an. Linux gibt's in allerlei 
Varianten auch auf 32-Bit Controllern, uCLinux auch auf solchen ohne 
MMU.

Generell sind aber RTOS für kleine MCUs typischerweise eher eng 
definiert, auf Task-und ggf. Speicherverwaltung begrenzt. Der Rest ist 
dann Sache der Anwendung. Ein formales Treiberkonzept existiert mitunter 
für Datenstrominterfaces wie UART. Dafür finden sich dann teilweise auch 
Treiber oder Beispiele für solche.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf größeren MCU vielleicht Linux ansonsten nichts. Ein bisschen 
Hardwareanpassung muss eigentlich immer gemacht werden, wie soll das 
auch sonst funktionieren? Schau dir doch mal embOS von Segger an 
(segger.com), die haben auch eine Menge Bibliotheken für GUI, 
Filesystem, TCP/IP, USB, ...

Beim Cortex M3 gibt es den Standard CMSIS, um die Hardware Sachen zu 
vereinfachen, da bekommst du dann vom Chiphersteller fertige 
Bibliotheken.
Die Segger Sachen sind natürlich auch CMSIS kompatibel.

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CP/M ist zwar ein recht altes OS, aber dadurch das es da eine 
Hardware-Abstraktionsschicht gibt ist es schon ein vergleichbares OS. 
Wenn auch viel viel kleiner als ein Linux/DOS/Windows. Aber das Prinzip 
dahinter ist schon interessant. Vor allem für kleine uC's.

Autor: McReaper (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Generell sind aber RTOS für kleine MCUs typischerweise eher eng
definiert, auf Task-und ggf. Speicherverwaltung begrenzt."

Hmm das hab ich mir schon gedacht. Beispiele hab ich mir schon viele 
angeschaut allerdings sind diese dann meist auf genau einen Prozessor 
zugeschnitten.

Was ich suchen wäre entweder eine "Betriebssystem" mit 
Hardwareabstraktion (von mir aus uCLinux) oder Bibliotheken die mir die 
Aufgabe abnehmen das ich jede Schnittstelle selber ansprechen muss. Das 
ganze halt für einen Cortex M3. Hat da jemand vielleicht ein Paar 
hilfreiche Links? Danke für die Hinweise, CMSIS und CP/M schau ich mir 
gleich einmal an.

Falls es so etwas nicht geben sollte, wäre ein Tutorial zu ARM7 
hilfreich. Ich habe mich bisher nur mit C51 Prozessoren beschäftigt mit 
denen ich mich auch gut genug auskenne. Der umstieg auf 32 bit ist ein 
wenig gewöhnungsbedürftig. Ich hab mir das AVR Tutorial auch schon 
angeschaut. Es ist ziemlich gut geschrieben allerdings fehlt mir dich 
Architektur Beschreibung. Ich kann leider absolut kein Assembler... Mich 
stört es ein wenig das ich relativ wenig von den Startupfiles verstehe 
die mir vom Compiler (Keil) oder von Beispielprojekten (z.b. für WinARM) 
vorgelegt werden.
Was mich gleich zu nächsten frage bringt: Welcher Kompiler ist für ARM7 
Prozessoren zu empfehlen?

Ich schweife grade ein wenig vom Titel Thema ab,..

Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also mit Hardwareabhängigkeit siehts bei MCs wohl schlecht aus, da diese 
alle sehr unterschiedlich aufgebaut sind. Vielleicht kann man ein 
Programm hardwareunabhängig für verschiedene MCs einer Bauhreihe machen 
(z.b. Atmels ATmega Serie) wobei man sich da auch auf die Leistungen des 
schwächsten beschränken müsste, und das funktioniert auch, ohne das 
Programm anzupassen. Um Unabhängig zu sein muss jede Plattform gewisse 
Vorraussetzungen erfüllen. In der MC-Welt hat eben jeder Controller und 
jede Controllerserie seine/ihre Vorzüge, die man auch ausnutzen sollte. 
Beim PC ist das anders.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.