www.mikrocontroller.net

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


Autor: Schwinnez (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: SchwinneZ (Gast)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.