Maximale Arraygröße GCC + MSP430F169

Gast #599537
Lesenswert?
• ▲
▼
Hallo,
ich benutze den GCC Compiler und einen MSP430F169
ich habe mir ein Array angelegt:

int test[2000];

nun bekomme ich die Fehlermeldung im Dateianhang.
Es scheint ja zu groß zu sein. Aber ich habe noch über 45kB frei. Wo 
liegt mein Denkfehler? Oder liegt das am Compiler?

Danke Euch.
Angehängte Dateien:
Gast #599548
Lesenswert?
• ▲
▼
@OP:
Tja, scheinbar hast du nicht so viel Platz für Variablen, da der MSP 
eine von-Neumann Architektur hat (der ganze Speicher im selben 
Addressraum) sollte ein "const int test[2000];" das Array in den flash 
verschieben -- dann kann man das aber nicht mehr so ohne weiteres 
ändern.

hth. Jörg
Gast #599552
Lesenswert?
• ▲
▼
Entschuldigung wegen dem Doppelpost, aber der Titel ist irreführend.
Der GCC hat mit dem Limit in diesem Fall nichts zu tun - das GCC-Limit 
sollte  dem Maximum eines "signed int" entsprechen d.h. 32767 Elemente 
beim AVR, beim MSP wahrscheinlich auch.

gruß ~Jörg
#600713
Lesenswert?
• ▲
▼
Wenn du mehr als die 256 Byte des Info-memory brauchst, musst du dem GCC 
dies aber mitteilen, indem du eine eigene Section im Linker-File dafür 
erstellst und im Quellcode dann angibst, dass das Array in eben diese 
Section muss. Sonst kanns passieren, dass du Programmcode oder andere 
Konstanten löscht, der FLASH kann nämlich immer nur in Sektoren gelöscht 
werden.

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.