diff options
Diffstat (limited to 'link.ld')
-rw-r--r-- | link.ld | 51 |
1 files changed, 51 insertions, 0 deletions
@@ -0,0 +1,51 @@ +MEMORY { + FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0x80000 + RAM (rwx): ORIGIN = 0x20000000, LENGTH = 0x10000 +} + +SECTIONS { + .vector_table ORIGIN(FLASH) : + { + *(.vector_table .vector_table.*); + } > FLASH + + .text : + { + *(.text .text.*); + } > FLASH + + .rodata : + { + *(.rodata .rodata.*); + } > FLASH + + .bss : ALIGN(4) + { + __bss_start = .; + + *(.bss .bss.*); + + . = ALIGN(4); + __bss_end = .; + } > RAM + + .data : ALIGN(4) + { + __data_start = .; + + *(.data .data.*); + + . = ALIGN(4); + __data_end = .; + } > RAM AT > FLASH + + __data_lma = LOADADDR(.data); + + /DISCARD/ : + { + *(.ARM.exidx .ARM.exidx.*); + } + + /* Start the stack from the end of the RAM */ + __stack_top = ORIGIN(RAM) + LENGTH(RAM); +} |