C30, zweidimensionales Array

Gast #1651221
Hallo,

ich würde gerne ein zweidimensionales Array mit 2048 Bytes anlegen.
Wenn ich es einfach so mache geht es nicht:

int logo[8][128] = {........};

Diese Fehlermeldung erhalte ich:

..\src\obj\main_projekt.o: Link Error: Could not allocate section 
.ndata, size = 2048 bytes, attributes = data near
 Link Error: Could not allocate data memory

Vlt. weiß jemand weiter!

Gruß Holgers
Gast #1651234
Prozessor/Controller? Evtl. Schaltplan?
1
int logo[8][128] = {........};
Hast du nur die beiden geschweiften Klammern oder im Feld auch welche?
Hau mal den ganzen Code hier rein (wenn es viel Code ist, mach's als 
Anhang), so wie oben beschrieben kann man sich das schlecht vorstellen, 
wo genau jetzt der Fehler liegt...

Ralf
#1651254
Hm, welches Memory Model fährst du? Weil wenn small (siehe [1]), passt 
es scheinbar nicht in den RAM-Speicher < 0x2000.Versuch mal die Lösung 
von [1], also die Variable mit __attribute__((far)) versehen.

BTW, du willst 1024 Byte in einen µC mit 2048 Byte RAM laden? Ganz 
sicher? Du brauchst auch noch so etwas wie einen Stack ^^. Ich kenn den 
C30 nicht (bin mehr im AVR Lager beheimatet), aber versuch mal das Array 
im Flash zu platzieren.

lg
Mobius

[1] http://www.microchip.com/forums/tm.aspx?m=138542
Gast #1651257
>So ich habe mal den Code rangehängt,

Keiner deiner Werte im Array ist int.
Versuchs mal mit unsigned char.
Und dann vieleicht noch mit const rom unsigned char,
da logo ja wohl kaum im RAM liegen soll.
So gehts jedenfalls beim C18.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.