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
> 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.
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).
>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.
@Benedikt Ich dachte wir reden hier vom HEX-File. Die Speicherbelegung durch Variablen macht doch auch der Gcc, wenn ich mich nicht verguckt hab
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.