hallo, gibts AVR-Systeme auf denen ein Linux läuft? hat da jemand schon Erfahrung gesammelt? Jürgen
> gibts AVR-Systeme auf denen ein Linux läuft? Nein. Linux ist für 32bit-Prozessoren, und es benötigt wesentlich mehr RAM als ein AVR bietet. Außerdem steht die Harvard-Architektur der AVRs da im Weg.
@Rolf: das mit den 32Bit finde ich interessant. Gab es die 1994 auch schon (für normalsterbliche PC-Nutzer)? Meiner Meinung nach lief das schon auf einem 386er mit seinen 16Bit. Aber du hast schon Recht, dass der AVR dafür einfach nicht geeignet und eigentlich auch nicht gedacht ist. Was soll man auch mit einem Multitasking und Multiuser-System in einer Kaffee-Maschine?! Mit nem AVR ist schon schwierig, USB ohne externe Bauteile zu machen (Igor, verrückter Japaner lassen grüssen). Wieso sollte man darauf Linux laufen lassen?
Hi, @Rahul Der 386er ist eine 32bit CPU. Und ich kenne bisher keine 16 bit Portierung. Gruß Dirk
@ Jürgen Mayer aber bitte einer mit mmu und einem schönen interface für externen ram ;-)
"Minix", der "Urvater" von Linux lief auf 16 Bit 8088/86. Es kann ja mal einer versuchen das auf einen AVR zu portieren ;) Quellen hier: http://www.minix.org
stimmt! Der SX hatte extern nur 16Bit. Auf dem 286er lief es aber auch...und der war wirklich nur 16Bit breit.
@KoF: > aber bitte einer mit mmu und einem schönen interface für externen > ram ;-) Es gibt auch Linux-Ports, die ohne MMU auskommen, natürlich mit der Einschränkung, daß die Prozesse sich mit dem Kernel einen Adressraum teilen müssen. @Rahul: > Auf dem 286er lief es aber auch...und der war wirklich nur 16Bit > breit. Das war aber nicht Linux, sondern das schon erwähnte Minix. Übrigens, wem's noch nicht aufgefallen ist: Ein AVR ist nicht 16bittig. :-)
@Rahul Ghose: >Mit nem AVR ist schon schwierig, USB ohne externe Bauteile zu machen >(Igor, verrückter Japaner lassen grüssen). Du glaubst doch nicht ernsthaft, dass Igor Cesko ein Japaner ist, oder?
"Du glaubst doch nicht ernsthaft, dass Igor Cesko ein Japaner ist, oder?" Er glaubt auch, daß ein 386er ein 16Bit-Prozessor ist...
Igor, verrückter Japaner lassen grüssen (also 2 Personen!) Hätte ich gemeint, dass Igor ein Japaner ist, hätte ich geschrieben "Igor, verrückter Japaner lässt grüssen." Das nur am Rande. Dass ich mit dem 386er daneben lag, hab ich inzwischen eingesehen. Asche auf mein Haupt. Wenn Linux nur auf einem 32bitter arbeitet, dann wird es wohl erst recht nicht auch einem AVR laufen. Minix vielleicht.
Tut mir leid aber bei "verrückter Japaner lassen grüssen" muss man sich entscheiden was der Fehler ist. Entweder "verrückte Japaner lassen grüßen" oder "verrückter Japaner lässt grüßen". Aber den Fehler hast du anscheinend noch immer nicht bemerkt :/
"Igor und der verrückte Japaner lassen grüssen" Besser so? Igor hat einen USB-Stack auf einem AVR realiesert. Der verrückte Japaner (einfach mal hier im Forum danach suchen) hat eine USB-Maus an einen AVR gehängt. Es handelt sich also immer noch um 2 Personen. Und 2 Personen lassen grüssen. Man könnte auch sagen: "Die Gruppe aus Igor und dem verrückten Japaner lässt grüssen."
inzwischen habe ich den Fehler auch endlgültig gesehen: Ich hätte mal wieder meine Klappe halten sollen.
Wobei man vielleicht noch zum Thema Linux sagen sollte, daß weder 32bit noch MMU eine Voraussetzung für Linux sind. Auch ist die Unterscheidung 16 Bitter / 32 Bitter sehr wage. Ein 68000er wird z. B. oft als 16/32 Bitter bezeichnet (Für den gibt es auch ein Linux [damit hätte ich mir jetzt selbst widersprochen]) Es ist eher so, daß 32-Bit-CPUs meist mit einer entsprechenden Leistungsklasse einher gehen (also RAM, ROM/Flash, MHz), die für Linux notwendig ist. Auch wenn es Linux für ARM-CPUs gibt, wirst Du es (vermutlich) nicht schaffen es auf eine Philips LPC Platform oder auf der ARM7 SAM Platform aus dem Shop zu portieren. Andere Systeme sind dafür besser geeignet. z. B. Ecos, OSEK, FreeRTOS... Gruß Dirk
"Wobei man vielleicht noch zum Thema Linux sagen sollte, daß weder 32bit noch MMU eine Voraussetzung für Linux sind. Auch ist die Unterscheidung 16 Bitter / 32 Bitter sehr wage. Ein 68000er wird z. B. oft als 16/32 Bitter bezeichnet (Für den gibt es auch ein Linux [damit hätte ich mir jetzt selbst widersprochen])" Das ist so nicht richtig. Erstens ist natürlich die interne Datenbreite entscheidend, zweitens braucht das "echte" Linux sehr wohl eine MMU. Daß im nachhinein ein ucLinux aus dem Linux entwickelt wurde, welches die MMU durch Software ersetzt, ist ein anderes Ding. "Es ist eher so, daß 32-Bit-CPUs meist mit einer entsprechenden Leistungsklasse einher gehen (also RAM, ROM/Flash, MHz), die für Linux notwendig ist." MHz sind Wurst für Linux, das läuft auch mit 1Hz. Ist natürlich nicht sehr sinnvoll. "Auch wenn es Linux für ARM-CPUs gibt, wirst Du es (vermutlich) nicht schaffen es auf eine Philips LPC Platform oder auf der ARM7 SAM Platform aus dem Shop zu portieren." Auf dem LPC läuft ucLinux doch, wo ist da das Problem? "Andere Systeme sind dafür besser geeignet. z. B. Ecos, OSEK, FreeRTOS... " Das sei mal dahingestellt und muss jeder wissen.
@Andre > Erstens ist natürlich die interne Datenbreite entscheidend, Meinst Du jetzt für Linux oder für die Unterscheidung 16 / 32 bit. Zur letzteren gibt es sehr viele Meinung wann eine CPU eine 32 bit CPU ist und wann nicht. >Daß im nachhinein ein ucLinux aus dem Linux entwickelt wurde, > welches die MMU durch Software ersetzt, ist ein anderes Ding. Na ja, eigentlich setzte ich ucLinux und Linux gleich (daher ist natürlich meine Aussage bzgl. Atmek SAM und LPC etwas unüberlegt gewesen). > MHz sind Wurst für Linux, das läuft auch mit 1Hz. Ist natürlich > nicht sehr sinnvoll. ok, technisch nicht notwendig. Geb ich zu. Minimalkonfigurationen für PC-Spiele gibt es auch. Trotzdem sind dann schnellere CPUs und bessere Grafikkarten öfters "notwendig".
"Meinst Du jetzt für Linux oder für die Unterscheidung 16 / 32 bit. Zur letzteren gibt es sehr viele Meinung wann eine CPU eine 32 bit CPU ist und wann nicht. " Natürlich Linux. Deshalb gibt es das ucLinux ja auch für viele 32bit-Controller (auch auf dem (externen) 8bitter 68008 sollte das laufen). Was die Meinungen angeht, so ist das sicherlich richtig, wenngleich auch die wenigsten das am Adressbus ausmachen. Meines Wissens gab es aber mal ein Projekt, welches zumindest Teile von Linux auch auf die 16bit-x86er portiert hat. Ist aber sicherlich mangels Bedarf eingeschlafen.
Es ist sehr wohl eindeutig festzustellen, ob nun ein Prozessor ein 16 oder 32 oder noch mehr Bit Prozessor ist. Das hängt einfach davon ab, wie groß die Register sind mit denen gerechnet wird. Also im einfachsten Fall der Akku. Bei Prozessoren ohne dedizierten Akku eben die Datenregister. Und der 68000er war noch nie ein "16/32 Bit-Prozessor", sondern war schon immer ein 32-Bit-Prozessor. Weiter hat die Breite des externen Datenbusses eines Prozessors auch nicht viel damit zu tun, mit welcher Breite er intern rechnet. So gab es am Anfang viele 32-Bitter, die nur einen extern 16-Bit-Datenbus haben und heute gibt es 32-Bit-Prozessoren die eine 64-Bit oder gar 128 Bit breiten Datenbus haben. Und der Dritte Punkt, der Adressbus ist auch unabhängig von der "Rechen-Breite" des Prozessors. Der (extern) Adressbus bestimmt lediglich, wieviel (externer) Speicher adressiert werden kann.
> Es ist sehr wohl eindeutig festzustellen, Und wer legt diese Definition fest? > Und der 68000er war noch nie ein "16/32 Bit-Prozessor", sondern war > schon immer ein 32-Bit-Prozessor. Die Bezeichnung 16 /32 Bit Prozessor findest Du für den 68000er sehr häufig. Die entsprechenden Computer (Amiga, ST) galten aber als 16Bit Rechner. Deine Definition ist durchaus plausibel und ich würde mich ihr auch anschließen, aber ich habe auch schon viele andere Meinungen dazu gehört. Daher kann von "eindeutig" keine Rede sein.
"Es ist sehr wohl eindeutig festzustellen, ob nun ein Prozessor ein 16 oder 32 oder noch mehr Bit Prozessor ist. Das hängt einfach davon ab, wie groß die Register sind mit denen gerechnet wird. Also im einfachsten Fall der Akku. Bei Prozessoren ohne dedizierten Akku eben die Datenregister." Also dem kann ich mich nun wirklich nicht anschließen. Es gibt ja etliche MCs/MPs, deren Akku 16Bit hat, die aber sonst nur 8Bit verarbeiten. Ebenso andersrum, einige 16Bit Register, dazu einen 8Bit Akku. Sind die jetzt 12Bit?
<Klugscheißermode> Was meint den Motorola dazu. Ich zitiere aus dem Programmers Manual: MC68000 16 / 32 bit Microprocessor MC68EC000 16 / 32 bit Embedded Controller ... MC68008 16 bit Microprocessor with 8 bit data bus Oder aus dem User Manual 1.1 MC 68000 The MC 68000 is the first implementation of the M68000 16/-32 bit microprocessor architecture. </Klugscheißermode> Soviel vom Erfinder der 68000er.
Hmm nur mal angemerkt es gibt Elks eine Portierung von linux auf den 80286 was aber nie wirklich weit gekommen ist. Auf dem 80286 liefen auch "Unix-Systeme" wie - Coherent - SCO Xenix - Microsoft Xenix (ist das nicht das gleiche) - Minix (das habe ich auch auf einem 8086 gesehen) alles sogar mit Netzwerk und Multiuser/Multitasking Fähigkeiten. Auch gibts einen "Unix/Linux"-Clone sogar für den C64 usw. Naja ich komme vom Thema ab. gruss Markus
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.