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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.