Hallo, auf dem Infineon Mikrocontroller XMC4700 benutze ich den ARM GCC Compiler. Der Linker erzeugt folgende Meldung: ld.exe: address 0x802001c of TestAppl.elf section `.abm' is not within region `FLASH_1_cached' Auszug aus dem Linkerscript File:
1 | MEMORY
|
2 | {
|
3 | FLASH_1_cached(RX) : ORIGIN = 0x08000000, LENGTH = 0x00020000 |
4 | FLASH_1_uncached(RX) : ORIGIN = 0x0C000000, LENGTH = 0x00020000 |
5 | PSRAM_1(!RX) : ORIGIN = 0x1FFE8000, LENGTH = 0x18000 |
6 | DSRAM_1_system(!RX) : ORIGIN = 0x20000000, LENGTH = 0x20000 |
7 | DSRAM_2_comm(!RX) : ORIGIN = 0x20020000, LENGTH = 0x20000 |
8 | SRAM_combined(!RX) : ORIGIN = 0x1FFE8000, LENGTH = 0x58000 |
9 | }
|
10 | |
11 | /* http://mcuoneclipse.com/2012/11/01/defining-variables-at-absolute-addresses-with-gcc/ */
|
12 | .abm ABSOLUTE(0x0801FFE0): AT(0x0801FFE0 | 0x04000000) |
13 | {
|
14 | KEEP(*(.flash_abm)) |
15 | } > FLASH_1_cached |
MAP File:
1 | .abm 0x0801ffe0 0x3c load address 0x0c01ffe0 |
2 | *(.flash_abm) |
3 | .flash_abm 0x0801ffe0 0x14 ./Libraries/LwipLib/port/netif/ethernetif.o |
4 | .flash_abm 0x0801fff4 0x14 ./Libraries/LwipLib/port/sys_arch.o |
5 | .flash_abm 0x08020008 0x14 ./main.o |
6 | |
7 | .rel.dyn 0x0802001c 0x0 load address 0x0c02001c |
8 | .rel.iplt 0x00000000 0x0 ./Startup/startup_XMC4800.o |
Wie kann ich diesen Fehler beheben?