Forum: Compiler & IDEs Stack-Size unter GCC festlegen?


von Marco (Gast)


Lesenswert?

Hallo

Laut Datenblatt hat mein ATmega16 1k SRAM und der beinhaltet den Stack.
Korrekt?? Nun stürtzt mein Programm aber bei einem bss Wert von 600
etwa ab und ich vermute, das der Stack zu voll ist. Kann ich unter GCC
in Verbindung mit dem ProgrammersNotepad2 die Größe des Stack den ich
nutzen möchte festlegen? Wenn ja, wie?

Gruß Marco

von Peter D. (peda)


Lesenswert?

Die Stackgröße kann man nicht festlegen. Die CPU nimmt sich immer soviel
sie braucht. D.h. es hängt nur allein von der Schachtelungstiefe ab,
also wieviele Unterprogramme ineinander aufgerufen werden.

Unbedingt vermeiden muß man rekursive Funktionen. Die benötigen immer
wesentlich mehr CPU-Zeit und Flash als ein Schleifenprogramm. Und den
Stack fressen sie nicht nur, sie verschlingen ihn regelrecht wie ein
schwarzes Loch.

600 Bytes Daten klingen schon mächtig viel.
Hast Du auch gut überlegt, daß Du wirklich soviel brauchst und auch
nicht alles als globale Variablen deklariert ?


Peter

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.