Hallo! Gibt es eigentlich eine möglichkeit zu erkennen, wieviel Speicher(RAM) ein bestimmtes mit AVR-GCC kompiliertes Programm braucht?
Der statische Speicherverbrauch wird mit avr-size [-A] ausgegeben. Der Stackverbrauch ist schwierig zu ermitteln. Die effektivste Methode dürfte das Füllen des gesamten RAMs mit einem Muster sein, gefolgt von der gelegentlichen Auswertung, wie weit das Muster zerstört worden ist.
Die Frage ist bei mir auch aufgetaucht, als ich beim Mega16 plötzlich 18k Hex Dateien hatte. Das schreiben und lesen hat aber noch geklappt. Nach dem kompilieren gibt mir mein makefile (ist nicht von mir) aus, wie groß das Programm ist. Außerdem kann man im PonyProg so weit nach unten scrollen, bis der gesamte FF Bereicht beginnt. Dann sieht man auch die Adresse im Hex Format.
Bedenkt man, dass das Intel-HEX-Format noch ein paar Informationen wie Adressen und Checksummen enthält, kommt man schnell drauf, dass auch 18KByte Intel-HEX-Daten in einen ATmega 16 passen... AVRDude spuckt beim Programmieren immer schön die Anzahl der geschriebenen Bytes aus... Gruß Rahul
Hallo, bei cc5xfree steht im .occ - File die Verwendung der einzelnen Speicher im Byte (Word) und %, aber ist eben nicht für AVR, sondern nur für PIC. ;)
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.