diff options
author | Vegard Storheil Eriksen <zyp@jvnv.net> | 2012-08-07 16:50:46 +0200 |
---|---|---|
committer | Vegard Storheil Eriksen <zyp@jvnv.net> | 2012-08-07 16:50:46 +0200 |
commit | e586c178073b9a0fee90d5fc8e795d266ebd7b7d (patch) | |
tree | ca9a9c40bab37d5af440c80833755223e2bdd946 /ld_scripts/arm_flash_ram.ld |
Initial import.
Most sources are split off from suzumebachi project revision 2fc77d2 as is with some path changes. New build rules introduced.
Diffstat (limited to 'ld_scripts/arm_flash_ram.ld')
-rw-r--r-- | ld_scripts/arm_flash_ram.ld | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/ld_scripts/arm_flash_ram.ld b/ld_scripts/arm_flash_ram.ld new file mode 100644 index 0000000..4839b16 --- /dev/null +++ b/ld_scripts/arm_flash_ram.ld @@ -0,0 +1,78 @@ +_ram_start = ORIGIN(ram); +_ram_size = LENGTH(ram); +_ram_end = _ram_start + _ram_size; + +SECTIONS { + . = 0; + + .vectors : ALIGN(16) SUBALIGN(16) { + KEEP(*(.vectors)) + } > flash + + .init_array : ALIGN(4) SUBALIGN(4) { + PROVIDE(_init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE(_init_array_end = .); + } > flash + + .fini_array : ALIGN(4) SUBALIGN(4) { + PROVIDE(_fini_array_start = .); + KEEP(*(.fini_array)) + KEEP(*(SORT(.fini_array.*))) + PROVIDE(_fini_array_end = .); + } > flash + + .text : ALIGN(16) SUBALIGN(16) { + *(.text.startup.*) + *(.text) + *(.text.*) + *(.rodata) + *(.rodata.*) + *(.glue_7t) + *(.glue_7) + *(.gcc*) + } > flash + + .ARM.extab : { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } > flash + + .ARM.exidx : { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > flash + + .eh_frame_hdr : { + *(.eh_frame_hdr) + } > flash + + .eh_frame : ONLY_IF_RO { + *(.eh_frame) + } > flash + + . = ALIGN(4); + + PROVIDE(_data_rom = .); + + .data : { + PROVIDE(_data_start = .); + *(.data) + . = ALIGN(4); + *(.data.*) + . = ALIGN(4); + *(.ramtext) + . = ALIGN(4); + PROVIDE(_data_end = .); + } > ram AT > flash + + .bss : { + PROVIDE(_bss_start = .); + *(.bss) + . = ALIGN(4); + *(.bss.*) + . = ALIGN(4); + *(COMMON) + . = ALIGN(4); + PROVIDE(_bss_end = .); + } > ram +} |