unterschiedliche Versionen von uclinux?

#1389420
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
#1390079
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.
Gast #1390133
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 :)
Gast #1390138
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.
Gast #1390530
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren