mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Linux auf einem AVR-System?


Autor: Jürgen Mayer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

gibts AVR-Systeme auf denen ein Linux läuft?

hat da jemand schon Erfahrung gesammelt?

Jürgen

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
JAVA läuft drauf..

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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?

Autor: Jürgen Mayer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

danke für die Info. Ich glaube da wäre dann ein ARM sinnvoller ...

Jürgen

Autor: Andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"386er mit seinen 16Bit."

Der 386er ist ein 32Bitter...

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

@Rahul
Der 386er ist eine 32bit CPU.

Und ich kenne bisher keine 16 bit Portierung.

Gruß

     Dirk

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Jürgen Mayer

aber bitte einer mit mmu und einem schönen interface für externen ram
;-)

Autor: Werner B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"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

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stimmt! Der SX hatte extern nur 16Bit.
Auf dem 286er lief es aber auch...und der war wirklich nur 16Bit breit.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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. :-)

Autor: Thomas Kropf (thomas_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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?

Autor: Andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Du glaubst doch nicht ernsthaft, dass Igor Cesko ein Japaner ist,
oder?"


Er glaubt auch, daß ein 386er ein 16Bit-Prozessor ist...

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Thomas Kropf (thomas_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :/

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"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."

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
inzwischen habe ich den Fehler auch endlgültig gesehen:
Ich hätte mal wieder meine Klappe halten sollen.

Autor: Thomas Kropf (thomas_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hehehe

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"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.

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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".

Autor: Andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"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.

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"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?

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
<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.

Autor: Markus Maussner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

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.