mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ARM Multitasking ogne MMU


Autor: Michael Stather (kyromaster)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe gehört dass auf der ARM-Architektur sogar Linux läuft, es
jedoch keine MMU gibt, und deswegen jeder Prozess an jeder beliebigen
Stelle im Speicher lesen und schreiben kann.
Kann man trotzdem irgendwie Speicherschutz erhalten, Softwaremäßig?
Oder gibt es ARM-Varianten mit MMU?

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

Bewertung
0 lesenswert
nicht lesenswert
Natürlich gibt es auch ARMe mit MMU (ARM9 und größer); ein
softwaremäßiger Speicherschutz wäre nur mit extremem Aufwand und
resultierend zu vernachlässigender Performance hinzubekommen.
Warum aber auch?
Multitasking-Betriebssysteme wurden über Jahre auf Maschinen ohne MMU
und ohne Speicherschutz betrieben, es bedarf halt ein wenig mehr
Disziplin beim Programmieren und gründlicheres Debuggen.

Autor: Michael Stather (kyromaster)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind diese Prozessoren auch noch so verhältnißmäßig billig wie die
ARM7-CPUs? Ich finde es halt (vor Allem bei nicht selbst geschriebener
Software) besser wenn nicht jedes Programm den Speicher ändern kann,
und vor Allem Auslesen (Sicherheitsaspekte).

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Micheal,

es auch einen ARM7 mit MMU. Schau mal bei ST nach einem STR720 (CAN,
USB, IDE, usw.). Der hat halt ein PQFP208-Gehäuse, aber ich denke bei
einem ARM9 (oder größer) wird es wohl mit dem Löten nicht einfacher
werden. Außer Spörle fällt mir aber leider niemand ein der den
anbietet. Vielleicht weiß jemand anderes wo es den gibt?

Gruß,
Sebastian

Autor: Michael Stather (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Info.
Weißt du ob der Linux Kernel auch davon Gebrauch machen kann? Ich habe
bisher ja nur den Port von uclinux.com für ARM gefunden, und der
scheint ja "für CPUs ohne MMU" zu sein.

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich gehe mal davon aus, das die meisten linux-distributionen eben nur
den Core unterstützt und nicht seine Periferie, die ja bei jedem
Hersteller oder Produkt anders sein kann und auch ist!

Eventuell hat man Glück und bekommt vom Hersteller etwas angepasstes,
oder man muss sich selber drum bemühen die Treiber zu schreiben.

Autor: Michael Stather (kyromaster)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber der MMU gehört afaik zum Core und nicht zur Peripherie. ISt ja auch
vom Kernel ziemlich ein Unterschied ob man Speicherschutz hat oder
nicht.

Autor: Dominic R. (dominic)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Linux Kernel, so wie er von kernel.org zu bekommen ist, unterstützt
ARM cores mit MMU, also z.B. arm720t, arm920t, arm926ej-s, etc., mit
zusätzlichen Patches auch solche cores, die nur eine MPU (memory
protection unit) haben.
Ausserdem enthält er Support für einige SoC Lösungen, z.B. Atmel
AT91RM9200, Cirrus Logic EP93xx, Hynix/Magnachip HMS20C7202, XScale,
etc., und bietet auch board-spezifische Konfigurationen für komplette
Boards mit ARM Core, Peripherie und evtl. zusätzlicher Hardware.
Teilweise sind dafür noch Patches notwendig, wobei die Unterstützung
für fast alle SoCs auch upstream zu bekommen ist - der Code muss nur
die Anforderungen der Kernel Maintainer erfüllen.

Gruesse,

Dominic

Autor: Michael Stather (kyromaster)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die ausführliche Info :)

Autor: Axel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt ucLinux, welches auch auf einem beliebigen ARM7 läuft.

Ansonsten läuft Linux nur auf dem ARM926, der ARM946 hat nur eine MPU,
die für Linux nicht ausreicht. Der ARM966 hat  nicht einmal die.

Was den Speicherschutz angeht, dürfte das auf einem embedded System
ziemlich egal sein. Beim PC kann man das Programm ja wieder neu
starten, wenn es ins Nirvana gegangen ist, beim embedded System (man
denke an einen  Roboter) ist dann sowieso Booten angesagt. Da kann man
das auch mit einem Watchdog lösen.

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.