Forum: Compiler & IDEs SRAM voll?


von A.Füßer (Gast)


Lesenswert?

Ich bastle gerade an einem mega163 und verwende einige Variablen (auch 
kleinere Felder). Nach meinen letzten Änderungen (paar Variablen 
hinzugefügt) passieren plötzlich die lustigsten Sachen (LCD spinnt, AVR 
"resettet" unmotiviert...). Kurz: Ich vermute, daß mir der SP in mein 
SRAM reinläuft. Wie finde ich das heraus?

Auszug aus dem Map-File:
.data           0x00800060      0x2c4 load address 0x00002902
                0x00800060                PROVIDE (__data_start, .)
 *(.data)
 .data          0x00800060      0x29c RSte.o
 .data          0x008002fc       0x27 inc2\lcd4bit.o
 *(.gnu.linkonce.d*)
 fill         0x00800323        0x1
                0x00800324                .=ALIGN(0x2)
                0x00800324                _edata=.

.bss            0x00800324      0x112

kann ich daraus irgendwie ablesen, ob ich zuviel Speicher verbrauche?
0x00800324 minus 0x00800060 = 0x2C4 = 708 Bytes? Ist diese Rechnung so 
richtig? Und würde das bedeuten, daß ich alleine für Variablen 708 Bytes 
verbrauche? (Stack käme noch hinzu).

Was bedeutet ".bss"? Danach scheinen auch noch globale Variablen 
aufgeführt zu sein. Gibts irgendwo eine Beschreibung/Hilfe zum Mapfile?

Der Programmcode hat einen Umfang von ~11k.

Danke,
 André.

von noname (Gast)


Lesenswert?

make size
oder avr-size --help

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.