Hallo Zusammen, mein Code-Red Compiler gibt mir derzeit die folgende Meldung aus: "region `RamLoc32' overflowed by 6432 bytes" - klar, Daten passen halt nicht mehr in den ersten SRAM Block. Leider sind beim LPC1768 die SRAM Blöcke nicht unter fortlaufenden Adressen zu finden. Alle Blöcke wurden von mir im Compiler angegeben, benutzt wird allerdings nur der erste. Linker Report: .noinit_RAM2 0x2007c000 0x0 *(.noinit.$RAM2*) *(.noinit.$RamAHB32*) 0x2007c000 . = ALIGN (0x4) Ein Code-Red Knowledge-Base Artikel beschreibt, wie im Code der Compiler aufgefordert werden kann das zweite SRAM zu nutzen: __BSS(RAM2) char bss_buffer[128] ; Funktioniert leider auch nicht... Hat hier vielleicht jemand eine Idee wie ich SRAM Blöcke zwei und drei aktivieren kann? Danke und Gruß, Andreas
Probier mal:
1 | |
Danke für deine schnelle Antwort. Funktioniert leider auch nicht:
__attribute__((section(".noinit.$RAM2"))); - meckert der Compiler über
das noinit
__attribute__((section("$RAM2"))); - Compiliert OK, hat aber keine
Auswirkung
Gruß,
Andreas
Andreas S. schrieb: > __attribute__((section(".noinit.$RAM2"))); - meckert der Compiler über > das noinit Fehlermeldung posten, bitte.
OK, danke für das hartnäckige Nachfragen. ;-) War heute morgen wohl noch zu früh: Fehlerunterstreichung des noinit kam vom Spellchecker... Damn! Map Report bestätigt deine Aussage und eine Testvariable wurde korrekt im SRAM2 abgelegt! Super, Danke dir Jim!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.