www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik mmu im uc und speicherverwaltung


Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hhuhu,

hab mal ne Frage, und zwar wie läuft das eigentlich mit der 
Speicherverwaltung in einem uc?? wie sorgt da die MMU dafür, dass die 
Daten in den ram geladen werden können.

Kann die MMU auch daten auf den flash auslagern?  woher weis ich, ob 
mein ram voll ist, wenn ich nicht per mallok alloziiere sondern statisch 
speicher reserviere?

Konkretes Beispiel, ich will einfach nur 512 bytes von einer SD Card 
lesen. mit 4kbyte ram  (mega128) sollte das ja kein problem sein. aber 
wo ist da schluss, heist das ich kann maximal dateien der Größe 4k in 
den ram legen??

Danke schonmal und Gruß

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein kleiner Mikrocontroller hat keine MMU. Lies mal ein Datenblatt eines 
AVR zum Beispiel. Ja wenn das RAM voll ist ist Schluss.

Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hm und wie funktioniert dann die Speicherverwaltung?? ich meine 
alloziieren und freigeben von Speicher zur Laufzeit? ohne das da nen 
Betriebssystem drauf ist oder ne mmu.

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine kleine Library, resp etwas Code und ein paar Variablen. Es wird 
beim Startup ueber die Konfiguration dem Heap eine gewisse Groesse 
zugewiesen, und eine verkettete Liste haelt die Pointer auf die 
einzelnen Bloecke.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wird nicht vom uC verwaltet sondern vom Programm. Wenn avr-gcc 
verwendest, dann kümmern sich deren Funktionen um die 
Speicherverwaltung.
Es wird dabei einfach irgendein freies Register für den Breakpointer und 
irgendein anderes für den Stackpointer verwendet.
Dynamischer Speicher (malloc) verwendet den brk-pointer und wird 
vermutlich einfach mit einer doppelt verketteten Liste bewerkstelligt.

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.