Forum: Mikrocontroller und Digitale Elektronik Probleme mit dem Stack beim ATMega8


von Schwinnez (Gast)


Lesenswert?

Hallo,

Ich habe mir ein einfaches Testprogramm(im AVR Studio mit Assembler) 
geschrieben um den Summer auf meinem Board zu testen.
In einem Unterprogramm lasse ich den Prozessor Warten.
Im Programm selbst sind keine Fehler.
Wenn ich das Programm debugge kommen allerdings Fehler wie:
-AVR Simulator: Uninitialized stack pointer used at 0x0002
-AVR Simulator: Invalid opcode 0xffff at address 0x001010

Beim Aufruf von ret springt er dann komplett an den Anfang meines 
Programmes.
Auch auf dem uC läuft das Programm nicht wie gewollt.
Habe leider keinerlei Erfahrung mit dem Stack und hoffe daher das mir 
jemand simpel  erklären ann was da falsch läuft.

von Michael U. (amiga)


Lesenswert?

Hallo,

in der Zeit, in der Du das getippt hast, hättest Du es auch selbst im 
Tutorial gefunden.
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Stack

Gruß aus Berlin
Michael

von Rolf Magnus (Gast)


Lesenswert?

> -AVR Simulator: Uninitialized stack pointer used at 0x0002

Mal so völlig ins Blaue getippt: Kann es sein, daß den Stackpointer 
nicht initialisiert hast?

von Johannes M. (johnny-m)


Lesenswert?

Schwinnez wrote:
> Wenn ich das Programm debugge kommen allerdings Fehler wie:
> -AVR Simulator: Uninitialized stack pointer used at 0x0002
> -AVR Simulator: Invalid opcode 0xffff at address 0x001010
>
> Beim Aufruf von ret springt er dann komplett an den Anfang meines
> Programmes.
> Auch auf dem uC läuft das Programm nicht wie gewollt.
Tja, bei den älteren AVRs muss man den Stack Pointer noch von Hand 
initialisieren

> Habe leider keinerlei Erfahrung mit dem Stack und hoffe daher das mir
> jemand simpel  erklären ann was da falsch läuft.
Im AVR-Tutorial steht eigentlich alles Wissenswerte zum Thema.

von SchwinneZ (Gast)


Lesenswert?

Okay,
danke für die schnellen Antworten.
Hatte vorher einen ATiny13 und musste mir deswegen irgendwie keine 
Gedanken machen^^

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.