avr belegt ram/flash anzeigen

Gast #318627
Lesenswert?
• ▲
▼
Hallo,

kennt jemand ein Tool, mit dem man idealerweise ein .hex File
analysieren kann. Sprich, maximal benutzen RAM Speicher und Flash
anzeigen.
(klar RAM ändert sich im Betrieb, aber so eine ungefähre Prognose kann
man ja ermitteln)

Oder wie kontrolliert Ihr so wieviel Platz Ihr noch im Controller
habt?

Mein hex File ist z.B. 17K groß, aber mein Programmer sagt das er 5 K
geladen hat.

Idealerweise hat jemand eine Lösung für Linux da?

Gruss Bene
Gast #318628
Lesenswert?
• ▲
▼
> kennt jemand ein Tool, mit dem man idealerweise ein .hex File
> analysieren kann. Sprich, maximal benutzen RAM Speicher und Flash
> anzeigen.

avr-size.

> Mein hex File ist z.B. 17K groß, aber mein Programmer sagt das er
> 5 K geladen hat.

Wie der Name schon sagt, sind die Werte im hex-File als Srings in
hexadezimaler Form abgelegt.

> Idealerweise hat jemand eine Lösung für Linux da?

avr-size ist Teil der avr-binutils.
Gast #318629
Lesenswert?
• ▲
▼
Das mit dem Ram kann eigentlich nicht funktionieren ... Denk mal
daran, dass der Stack mit jedem verschachteltem Funktionsaufruf
anwächst, dass sich nicht von Beginn an sagen lässt, ob
malloc-Funktionen in welcher Weise genutzt werden.
Das einzige, was ich mir in dieser Hinsicht vorstellen könnte, wäre
eine Bestimmung, auf welche Speicherzellen DIREKT zugegriffen wird (an
das Z-Register mag ich noch nicht denken).
Gast #318630
Lesenswert?
• ▲
▼
>Das mit dem Ram kann eigentlich nicht funktionieren

Doch, kann es. Es gibt Software die den C Code analysieren kann und so
den worst case RAM Verbrauch anzeigt. Kostet aber etwas...

Im einfachsten Fall zeigt die Software einfach die Größe der lokalen
Variablen einer Funktion an, was problemlos möglich ist. Das ist auch
schon einiges wert, denn man muss es nicht per Hand machen.
Gast #318633
Lesenswert?
• ▲
▼
Stimmt, mit der Hex Datei wird es schwer, aber das war ja nicht
ausdrcklich verlangt.

Beim Renesas Compiler für den M16C gibt es einen Stack Viewer der der
für jede Funktion die verwendeten Variablen auflistet und andere nette
Infos anzeigt.
Ebenso gibt es einen Map Viewer der die ganzen globalen Variablen und
sonstige Belegungen anzeigt.
Sowas für den AVR wäre echt spitze.

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.