www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Init Stack-Pointer notwendig?


Autor: tim t (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Doku diverser Controller z.B. Tiny2313 oder Mega168 wird der 
Stackpointer in Codebeispielen stets mit RAMEND initialisiert. Dabei 
sollte doch dieses bei Reset sowieso automatisch geschehen?! Dann sollte 
man sich doch das sparen können???

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo steht, dass das bei Reset automatisch geschieht?

Autor: tim t (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
siehe gleiche Doku, Abschnitt Stackpointer/Initial Value. (z.B. 
Mega48/88/168 Doku S. 11)

Autor: tim t (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, Tiny2313 ist nicht richtig, ich meinte die Tinys 25/45/85.

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mir gerade das datasheet von ATmega48/88/168 angeschaut. Der 
Stackpointer wird auf S.13 unten (nicht 11) beschrieben. Und da steht: 
"...This Stack space in the data SRAM must be defined by the program 
before any subroutine calls are executed or interupts are enabled.The 
Stack Pointer must be set to point above 0x0100, preferably RAMEND...

Ich weiß echt nicht, woher Du Deine Infos hast???

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verstehe was er meint. Das Datasheet suggeriert in der grafischen 
Registerdarstellung, dass SP per Reset auf RAMEND initialisiert wird.

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt. Das is wirklich blöd.

Autor: tim t (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
blöd und verwirrend. Ich nehm jetzt mal an, das ist ein Feature neuerer 
AVRs und die Doku ist noch nicht ganz aktuell. tim

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim Tiny2313 hatte ich das schonmal vergessen und mich auch arg 
gewundert das es ging hab dan aber vorsorglich den Init noch 
dazugepackt.

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.