Hallo, ich arbeite seit längerem an einem Code für einen Atmega32 und hatte bis gestern den RAM zu ca. 62% voll. Die Änderungen gestern haben keine großen Variablen benötigt und trotzdem ist jetzt der Datenspeicher zu 153.3% voll. Ich habe auch immer schön in den Headern mit #ifndef gearbeitet, damit sie nur einmal durch den Compiler Laufen sollen. Woran kann es noch liegen?
@ Stephan (Gast) >sie nur einmal durch den Compiler Laufen sollen. Woran kann es noch >liegen? Grosse Arrays plötzlich ganz gross gemacht? Einfach die Grösse bei der Definition geändert? MFG Falk
Das habe ich auch schon überprüft, indem ich die Dimensionen verkleinert habe. Die Auswirkungen waren zu klein. Irgendetwas wird mehrfach eingebunden.
Stephan wrote:
> Irgendetwas wird mehrfach eingebunden.
Das sollte aber, wenn überhaupt, nur Auswirkungen auf den
Programmspeicher haben, und nicht aufs SRAM...
Es lag tatsächlich an der Mehrfacheneinbindung eines Arrays in mehrere Objektdateien. Da das Array im RAM liegt, betraf es auch den Speicherbeich. Schuld war das Schlüsselwort static. Jetzt läufts. Danke für Eure Anregungen.
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.