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 | char bss_buffer[128] __attribute__((section(".noinit.$RAM2"))); |
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!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.