PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Stacküberlauf ???



haus51
28.02.2007, 12:08
Meine Heizungsregelung mit 8535 verklemmt sich nach ein paar Tagen. Display dunkel und keine Reaktion, obwohl alles mit Watchdog abgesichert.
Meine Vermutung ist, dass sich der Stack aufbaut und dann in Konflikt mit dem Programm kommt.
Ich wollte deswegen den Stackpointer mit dem $asm auslesen und die Werte verfolgen. Leider schaff ich das nicht.
Kann mir jemand einen passenden 3-Zeiler geben????
Danke
Günther

slavezero
28.02.2007, 17:12
hallo,
was heißt mit watchdog abgesichert?
weißt du sicher, das der watchdog auslöst und der 8535 in den reset rennt?

wenn er das wirklich machen würde, würde er stack usw. einfach ignorieren und von vorn anfangen.
- was passiert wenn du ein reset über das reset pin direkt auslöst?
- was passiert wenn du spannung aus, spannung ein machst?

startet er dann neu? wenn ja, funktioniert dein watchdog nicht.

tschüß sz

haus51
01.03.2007, 06:26
Er rennt eben nicht in den reset. Das wäre ja "gewollt".
M.E. wächst der Stack unkontrolliert und kollidiert mit anderen Speichersegmenten. Ich kann aber nicht nachvollziehen, in welchem Programmabschnitt das passiert.
Nur um das auszuschliessen will ich mit den SP auf den Display anzeigen lassen.
Zu Deinen Fragen:
Wenn ich den Reste - Pin auslöse messen meine 1822 Temperatursensoren immer 0 Grad ????? Erst bei entfernen der Versorgungsspannung läuft wieder alles normal.
Der WD funktioniert wahrscheinlich schon, beim debuggen löst er immer wieder mal aus ( = Programmfehler).
Gruß
Günther