Forum: Mikrocontroller und Digitale Elektronik avr belegt ram/flash anzeigen


von Benedikt Sauter (Gast)


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

von Rolf Magnus (Gast)


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.

von Marcel (Gast)


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).

von Benedikt (Gast)


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.

von Benedikt Sauter (Gast)


Lesenswert?

danke super!

von Marcel (Gast)


Lesenswert?

@Benedikt
Ich dachte wir reden hier vom HEX-File.
Die Speicherbelegung durch Variablen macht doch auch der Gcc, wenn ich
mich nicht verguckt hab

von Benedikt (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.