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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren