Forum: Compiler & IDEs AVR-Simulator


von MrFunk (Gast)


Lesenswert?

Der AVR-Simulator meldet:

AVR Simulator: Stack Underflow at 0x0145

was kann das bedeuten?

von johnny.m (Gast)


Lesenswert?

Dass Du irgendwas gepopt hast, ohne vorher was zu pushen... Wenn Du in C 
programmierst, kann ich mir das allerdings nicht ganz vorstellen, weil 
Du da (außer durch Manipulation des Stack Pointers, und von dem sollte 
man tunlichst die Finger lassen) keinen direkten Zugriff auf den Stack 
hast.

von Oliver (Gast)


Lesenswert?

Genau den Fall hatte ich letztens auch.

Scheint ein Problem von AVRSTudio zu sein (mein Code kann es gar nicht 
gewesen sein, der ist natürlich immer fehlerfrei :-)

weiteres findet sich hier:
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=267185

Oliver

von MrFunk (Gast)


Lesenswert?

Ja, ich verwende AVR Studio 4.12 Service Pack 4 Build 498.
Mit GCC also C, was sich dann auch um den Stack kümmern sollte.
Der Fehler tritt schon bei einfachsten FOR-Schleifen auf!
Kann man diese Fehlermeldung einfach ignorieren?

von Stefan (Gast)


Lesenswert?

> Kann man diese Fehlermeldung einfach ignorieren?

Es gibt einen Stack Underflow Bug im AVR Simulator. Atmel weiss von 
diesem Bug und will ihn im nächsten Release beheben.

Ob du exakt diesen Bug wiedergefunden hast, weiss ich nicht. Das 
Originalposting bezieht sich auf Code mit Funktionspointern bzw. die 
Simulation des Befehls ICALL.

http://2313.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=42557&start=0

http://2313.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=40299&start=0&POSTNUKESID=

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=43557

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=43557

Schau dir das Disassemblat an und wenn ein ICALL sichtbar ist, kannst du 
die Meldung wahrscheinlich guten Gewissens ignorieren.

von MrFunk (Gast)


Lesenswert?

Ja, ich verwende Funktionspointer, scheint also der beschriebene Bug zu 
sein. Vielen Dank für die Antworten.

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.