PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hwstack, Swstack, Framesize - Problem



wurm
03.10.2007, 18:43
Hallo,

ich habe ein Programm zur Steuerung eines Operationstisches geschrieben. Dieses Programm funktioniert eigentlich auch prima. Allerdings habe ich nach einiger Zeit (ca. 10min) im Dauertest dann einige Probleme. Es treten dann unerklärliche Fehler auf, so als wenn der Atmega das Programm durcheinander werfen würde und dann irgendwie wild im Programm herumspringen würde.

Der Code ist zu groß, um ihn hier zu posten, deshalb als Attachment.

So wie ich das sehe hat das irgendwas mit dem Hwstack, Swstack und Framesize zu tun. Ich habe aber nicht wirklich verstanden, wie man diese bestimmen kann. Wenn ich an diesen Werten rumspiele, dann ändern sich die o.g. Probleme.

Hat jemand eine Idee, wo das Problem liegen kann und wie es behoben werden kann?

Mfg,
Thorsten Wurm

PicNick
03.10.2007, 19:04
Da hab' ich es zu erklären versucht.
https://www.roboternetz.de/wissen/index.php/Bascom_Inside
Vielleicht hilft das

wurm
03.10.2007, 20:52
Hallo,

schon mal vielen Dank für die Antwort.
Was ich aber noch nicht verstanden habe ist, wie man die Werte für HWSTACK, SWSTACK und FRAMESIZE am einfachsten herausfinden kann.
Ich kann mir nicht vorstellen, dass man jede Variable, jeden Unterprogrammaufrauf etc. zählen muss und sich daraus dann die benötigten Werte errechnen muss.
Gibt es da nicht eine einfachere Möglichkeit.

Bei Bascom gibt es ja den StackAnalyser sowie die STCHECK-Funktion. Kann man da nicht irgendwie die benötigten Werte mit herausbekommen.

Mfg,
Thorsten Wurm

linux_80
04.10.2007, 00:26
Hallo,

Wenn Du das Programm compiliert hast, drückst du mal Ctrl+W, das gibt den Report aus, evtl. kannst du was damit anfangen :-k
Auch zu finden unter -> Program-> Show result.