www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik unterschiedliche Versionen von uclinux?


Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn jemand von "embedded linux" spricht, ist dann automatisch das 
uclinux damit gemeint, oder gibt es verschiedene linux-systeme für 
mikrocontroller? Wenn ja, welche?

Autor: Sigint 112 (sigint)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unter "Embedded Linux" versteht man eingebettete Linuxsysteme. Das 
dürften alles Systeme sein, bei denen der Benutzer nichts mit dem System 
direkt zu tun hat. Das Linux übernimmt also eine Steuer- und 
Regelaufgabe. Das µCLinux ist relativ weit verbreitet, aber nicht das 
einzige Linux für Embedded Anwendungen. Es existieren diverse 
Echtzeit-Linuxversionen welche eingesetzt werden können. Zudem kann der 
normale Linux-Kernel in Embedded Systeme eingesetzt werden. Siehe die 
ARM oder MIPS Mikroprozessoren.

Gruß,
  SIGINT

Autor: Robert S. (razer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das µCLinux ist doch für kleinere µCs ausgelegt, die keine MMU haben. 
Lieg ich damit richtig?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Damit ja.

Autor: Hans Wurst (hans_wurst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Robert S. schrieb:
> Das µCLinux ist doch für kleinere µCs ausgelegt, die keine MMU haben.

Für uCLinux es es sehr zu empfehlen eine MMU zu haben! (Oder eher sogar 
unabdingbar?)
Wenn der Controller keine MMU hat, besser ein OS wie FreeRTOS (usw.) 
verwenden.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Für uCLinux es es sehr zu empfehlen eine MMU zu haben! (Oder eher sogar
> unabdingbar?)

Nein. ucLinux setzt keine MMU voraus. Gerade das zeichnet ucLinux aus.

Autor: Hans Wurst (hans_wurst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso? Habe ich das dann wohl falsch verstanden. Wann sollte man denn 
dann eher zu uCLinux und wann zu FreeRTOS greifen?

Oder liegt mein Fehler eher darin, dass uCLinux nicht gleich 
embeddedLinux ist?

Zumindest bei Atmel kenne ich es so, dass bei der AP7000-Serie (mit MMU) 
ein embeddeLinux verwendet werden kann und bei der UC3-Serie (ohne MMU) 
nur Systeme wie FreeRTOS.

Autor: ichwieder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Oder liegt mein Fehler eher darin, dass uCLinux nicht gleich
>embeddedLinux ist?
Jein, ein uClinux kann/wird auch embedded sein, aber ein embedded Linux 
ist eines, bei dem der Nutzer mit dem Linux an sich so gut wie nichts zu 
tun hat.
Die meisten Geräte auf denen ein embedded Linux läuft, haben eine 
serielle Konsole, da hat man dann sehr wohl direkten Zugriff aufs Linux, 
aber den brauchen nur Freaks und der "normale" User kommt nichtmal auf 
die Idee dass es sowas gibt (siehe z.B. Asus Netzwerk Festplatten, sehr 
interessante Teile).

Wenn du dir einen passenden Kernel compilierst, eine Shell und ein paar 
Tools, sowie die nötigen libs dazu, das dann irgendwie auf einem 
Controller gestartet bekommst (z.B. die Asus Platte, da is das wirklich 
Easy, oder eine NLSU2, ...) dann hast du ein embedded Linux.

Wenn du das ganze dann so machst, dass es entweder direkt von uClinux 
kommt oder so zusammenbaust und programmierst dass es damit 
übereinstimmt (was aber mehr als sinnlos ist), dann hast du ein uClinux.

RTOS Sachen würde ich generell nur darauf packen, wo ein einzelnes C 
Programm zu aufwendig werden würde aber ein Linux nichtmehr sinnvoll 
läuft.

Die MMU ist wie gesagt nicht nötig, weit verbreiteter Aberglaube 
grins, genauso wie es auch Linux für 286er gibt :)

Autor: ichwieder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>RTOS Sachen würde ich generell nur darauf packen, wo ein einzelnes C
>Programm zu aufwendig werden würde aber ein Linux nichtmehr sinnvoll
>läuft.

Ganz vergessen, hierzu noch:
... läuft, oder man wirklich genau dieses oder das RTOS für seine 
Anwednung braucht.

Autor: Axel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die MMU ist wie gesagt nicht nötig, weit verbreiteter Aberglaube
>grins, genauso wie es auch Linux für 286er gibt

Richtiges Linux braucht immer eine MMU.

Für die Prozessoren ohne MMU gibt es extra ucLinux, allerdings fehlen da 
eben eine Menge Schutzmechanismen um Speicherbereiche gegenseitig zu 
schützen, etc. Von daher ist das Multitasking mit uCLinux etwas 
kritisch, weil ein wildgewordenes Programm alle Speicherbereiche 
erreichen kann und somit tatsächlich den ganzen Kernel abschiessen.

Mit MMU verhindert das die MMU, weil die Prozesse physikalisch nur 
Zugriff auf die Speicherbereiche haben, wo sie das auch dürfen.

Gruss
Axel

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.