diff options
Diffstat (limited to 'src/target/firmware/board/compal/highram.lds')
-rw-r--r-- | src/target/firmware/board/compal/highram.lds | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/src/target/firmware/board/compal/highram.lds b/src/target/firmware/board/compal/highram.lds index 498a2fa1..482c4c24 100644 --- a/src/target/firmware/board/compal/highram.lds +++ b/src/target/firmware/board/compal/highram.lds @@ -6,7 +6,6 @@ * address. * * This is used for debugging the loader and for general hacking purposes. - * */ OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") OUTPUT_ARCH(arm) @@ -14,11 +13,11 @@ ENTRY(_start) MEMORY { /* lowram: could be anything, we place exception vectors here */ - XRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00020000 - /* highram binary: our text, initialized data */ - LRAM (rw) : ORIGIN = 0x00820000, LENGTH = 0x00014000 - /* highram binary: our unitialized data, stacks, heap */ - IRAM (rw) : ORIGIN = 0x00834000, LENGTH = 0x0000c000 + XRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00020000 + /* highram binary single big zone with all rest of internal SRAM */ + /* -> our text, initialized data */ + /* -> our unitialized data, stacks, heap */ + RAM (rw) : ORIGIN = 0x00820000, LENGTH = 0x00030000 } SECTIONS { @@ -29,7 +28,7 @@ SECTIONS PROVIDE(_start = .); KEEP(*(.text.start)) *(.text.start) - } > LRAM + } > RAM /* exception vectors linked for 0x80001c to 0x800034 */ .text.exceptions 0x80001c : AT (LOADADDR(.text.start) + SIZEOF(.text.start)) { @@ -50,7 +49,7 @@ SECTIONS /* gcc voodoo */ *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx) . = ALIGN(4); - } > LRAM + } > RAM PROVIDE(_text_start = LOADADDR(.text)); PROVIDE(_text_end = LOADADDR(.text) + SIZEOF(.text)); @@ -62,7 +61,7 @@ SECTIONS KEEP(*(SORT(.ctors))) /* end of list */ LONG(0) - } > LRAM + } > RAM PROVIDE(_ctor_start = LOADADDR(.ctors)); PROVIDE(_ctor_end = LOADADDR(.ctors) + SIZEOF(.ctors)); @@ -74,7 +73,7 @@ SECTIONS KEEP(*(SORT(.dtors))) /* end of list */ LONG(0) - } > LRAM + } > RAM PROVIDE(_dtor_start = LOADADDR(.dtors)); PROVIDE(_dtor_end = LOADADDR(.dtors) + SIZEOF(.dtors)); @@ -82,7 +81,7 @@ SECTIONS . = ALIGN(4); .rodata : { *(.rodata*) - } > LRAM + } > RAM PROVIDE(_rodata_start = LOADADDR(.rodata)); PROVIDE(_rodata_end = LOADADDR(.rodata) + SIZEOF(.rodata)); @@ -90,7 +89,7 @@ SECTIONS . = ALIGN(4); .data : { *(.data) - } > LRAM + } > RAM PROVIDE(_data_start = LOADADDR(.data)); PROVIDE(_data_end = LOADADDR(.data) + SIZEOF(.data)); @@ -99,7 +98,7 @@ SECTIONS .got : { *(.got) *(.got.plt) *(.igot.plt) *(.got) *(.igot) - } > LRAM + } > RAM PROVIDE(_got_start = LOADADDR(.got)); PROVIDE(_got_end = LOADADDR(.got) + SIZEOF(.got)); @@ -108,7 +107,7 @@ SECTIONS . = ALIGN(4); __bss_start = .; *(.bss) - } > IRAM + } > RAM . = ALIGN(4); __bss_end = .; PROVIDE(_bss_start = __bss_start); |