Gast
#2916000
Hallo zusammen,
ich hab da ein kleines Problem mit dem Atmel-Studio: ich wüsste gern
wieviel RAM mein Programm nutzt. Ein einfaches Progrämmchen wie dieses:
#define SIZE 32000
char vector[SIZE];
void main (void){
for (unsigned int i=0;i<SIZE;i++)
vector[i] = i;
}
zeigt mir:
"...\avr32-size.exe" "USER_APPLICATION1.elf"
text data bss dec hex filename
9124 0 36268 45392 b150 USER_APPLICATION1.elf
Der Wert von bss scheint den genutzten RAM anzuzeigen, wobei bei SIZE=0
bereits 4268 angezeigt wird... keine Ahnung warum. Ziehe ich diesen Wert
von bss ab, komme ich auf meine 32000 Byte, die ich für den Vektor
brauche.
Wenn ich nun den Vektor nur lokal in einer Funktion benötige, wie hier:
#define SIZE 32000
void my_func(void) {
char vector[SIZE];
for (unsigned int i=0;i<SIZE;i++)
vector[i] = i;
}
void main (void) {
my_func();
}
zeigt mir:
"...\avr32-size.exe" "USER_APPLICATION1.elf"
text data bss dec hex filename
9128 0 4268 13396 3454 USER_APPLICATION1.elf
Also RAM-Nutzung = 0!!!???
Kennt sich jemand aus, wie ich den genutzten RAM-Speicher, auch den
innerhalb von Funktionen anzeigen kann?
Schon mal Danke im Vorraus & Beste Grüße
Marvin