Variablenverwaltung MSP430

Gast #2153113
Lesenswert?
• ▲
▼
Hallo zusammen,

Benutzte den MSP430F2074...
Wollte mal nachfragen, wie die Variablen abgespeichert werden.

Wenn ich Variablen global deklariere, also Variablen sollen nach 
Unterprogrammsprung gespeichert bleiben, werden sie im RAM abgelegt.

Wenn ich Variablen nur in einem Unterprogramm benötige und diese dort 
deklariere, wo werden da die Variablen abgelegt?

Wenn ich z.B. ein BYTE-Array mit 1000 werden deklarie, beschwert sich 
der
Compiler nicht...

Wo kann ich das im USERGUIDE nachlesen?
Wäre sehr dankbar, wenn Ihr mir helfen könntet...

Grüße
Claudia
Gast #2153181
Lesenswert?
• ▲
▼
Im erzeugten MAP-File wird aber nichts angezeigt, d.h. ich habe noch ca. 
150 Byte frei aufn RAM, wenn ich jetzt mein Unterprogramm erzeuge und 
dort ein byte-Array von ca. 150 Werten beschreibe, ändert sich nichts an 
der Anzeige im map-file ??
Gast #2153379
Lesenswert?
• ▲
▼
Variablen in Unterprogrammen, sofern (in C) nicht als "static" 
deklariert, werden auf dem Stack angelegt und
erscheinen deshalb nicht im MapFile. Sie haben keine festen
Adressen und werden relativ zum Stackpointer adressiert.

Zu grosse lokale Variablen werden mit Stacküberlauf zur laufzeit
bestraft...

ZZ.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.