RAM-Verbrauch vom Mikrocontroller messen

OP #1023203
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.
#1023218
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.
#1023221
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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.