mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RAM-Verbrauch vom Mikrocontroller messen


Autor: Daniel Wolf (wolfhunters)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich würde gern wissen, ob es möglich ist relativ einfach den RAM-Bedarf 
meines Programms zu ermitteln. Genauer gesagt würde ich gern den max. 
Ram-Bedarf ermitteln. Ist das mit einfachen Mitteln möglich, oder muss 
man sich da komplizierte Routinen programmieren, die einem das 
ermöglichen.

Ich habe einen STM32F103..., Olimex JTAG ARM-USB-OCD und entwickle in 
Eclipse mit der SARM-Toolchain von ST bzw. Anglia.

Autor: Katherine J. (katherine)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gab's hier schonmal
Beitrag "Compilerfehler bei mem-check"

Läuft super. Man kann zur Laufzeit seinen "min free RAM" und seinen 
"actual free RAM" ermitteln.
Prinzip ist simpel, es wird vor dem eigentlichen Starten des Controllers 
der komplette RAm mit einer Maske beschrieben, vorzugsweise 0xAA. Daraus 
läßt sich ermitteln wie weit der der Heap und der Stack von einander 
entfernt sind.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den fixen Anteil am Speicherbrauch liefert dir der Linker auf Anfrage in 
einem File, das die Speicherverteilung anzeigt. Heisst oft Mapfile.

Den variablen Anteil durch Stack und Heap abzuschätzen ist schwieriger. 
Da kann es helfen, wenn beim Start das ganze RAM mit einem eindeutigen 
Muster beschrieben wird und man nach einer gewissen Betriebszeit einen 
RAM-Dump zieht (z.B. per Debugger) und dort reinschaut was alles 
überschrieben wurde. Narrensicher ist das aber nicht, da der schlimmste 
Fall möglicherweise noch nicht eingetreten war.

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.