LPC2378-RAM.ld
127 lines
| 3.3 KiB
| text/plain
|
TextLexer
jeandet@pc-de-jeandet3.LAB-LPP.LOCAL
|
r18 | /***********************************************************************/ | ||
/* */ | ||||
/* RAM.ld: Linker Script File */ | ||||
/* */ | ||||
/***********************************************************************/ | ||||
ENTRY(_start) | ||||
STACK_SIZE = 0x800; | ||||
/* Memory Definitions */ | ||||
/* lpc2378 mt */ | ||||
MEMORY | ||||
{ | ||||
ROM (rx) : ORIGIN = 0x00000000, LENGTH = 512K | ||||
RAM (rw) : ORIGIN = 0x40000000, LENGTH = 32K | ||||
} | ||||
/* Section Definitions */ | ||||
SECTIONS | ||||
{ | ||||
/* first section is .text which is used for code */ | ||||
.text : | ||||
{ | ||||
*crt0.o (.text) /* Startup code */ | ||||
*(.text) /* remaining code */ | ||||
*(.rodata) /* read-only data (constants) */ | ||||
*(.rodata*) | ||||
*(.glue_7) | ||||
*(.glue_7t) | ||||
} > RAM | ||||
. = ALIGN(4); | ||||
/* .ctors .dtors are used for c++ constructors/destructors */ | ||||
/* added by Martin Thomas 4/2005 based on Anglia Design example */ | ||||
.ctors : | ||||
{ | ||||
PROVIDE(__ctors_start__ = .); | ||||
KEEP(*(SORT(.ctors.*))) | ||||
KEEP(*(.ctors)) | ||||
PROVIDE(__ctors_end__ = .); | ||||
} >RAM | ||||
.dtors : | ||||
{ | ||||
PROVIDE(__dtors_start__ = .); | ||||
KEEP(*(SORT(.dtors.*))) | ||||
KEEP(*(.dtors)) | ||||
PROVIDE(__dtors_end__ = .); | ||||
} >RAM | ||||
. = ALIGN(4); | ||||
/* mthomas - end */ | ||||
_etext = . ; | ||||
PROVIDE (etext = .); | ||||
/* .data section which is used for initialized data */ | ||||
.data : | ||||
{ | ||||
_data = .; | ||||
*(.data) | ||||
} > RAM | ||||
. = ALIGN(4); | ||||
_edata = . ; | ||||
PROVIDE (edata = .); | ||||
/* .bss section which is used for uninitialized data */ | ||||
.bss (NOLOAD) : | ||||
{ | ||||
__bss_start = . ; | ||||
__bss_start__ = . ; | ||||
*(.bss) | ||||
*(COMMON) | ||||
. = ALIGN(4); | ||||
} > RAM | ||||
. = ALIGN(4); | ||||
__bss_end__ = . ; | ||||
PROVIDE (__bss_end = .); | ||||
/* .stack ALIGN(256) : */ | ||||
.stack : | ||||
{ | ||||
. = ALIGN(256); | ||||
. += STACK_SIZE; | ||||
PROVIDE (_stack = .); | ||||
} > RAM | ||||
_end = . ; | ||||
PROVIDE (end = .); | ||||
/* Stabs debugging sections. */ | ||||
.stab 0 : { *(.stab) } | ||||
.stabstr 0 : { *(.stabstr) } | ||||
.stab.excl 0 : { *(.stab.excl) } | ||||
.stab.exclstr 0 : { *(.stab.exclstr) } | ||||
.stab.index 0 : { *(.stab.index) } | ||||
.stab.indexstr 0 : { *(.stab.indexstr) } | ||||
.comment 0 : { *(.comment) } | ||||
/* DWARF debug sections. | ||||
Symbols in the DWARF debugging sections are relative to the beginning | ||||
of the section so we begin them at 0. */ | ||||
/* DWARF 1 */ | ||||
.debug 0 : { *(.debug) } | ||||
.line 0 : { *(.line) } | ||||
/* GNU DWARF 1 extensions */ | ||||
.debug_srcinfo 0 : { *(.debug_srcinfo) } | ||||
.debug_sfnames 0 : { *(.debug_sfnames) } | ||||
/* DWARF 1.1 and DWARF 2 */ | ||||
.debug_aranges 0 : { *(.debug_aranges) } | ||||
.debug_pubnames 0 : { *(.debug_pubnames) } | ||||
/* DWARF 2 */ | ||||
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } | ||||
.debug_abbrev 0 : { *(.debug_abbrev) } | ||||
.debug_line 0 : { *(.debug_line) } | ||||
.debug_frame 0 : { *(.debug_frame) } | ||||
.debug_str 0 : { *(.debug_str) } | ||||
.debug_loc 0 : { *(.debug_loc) } | ||||
.debug_macinfo 0 : { *(.debug_macinfo) } | ||||
/* SGI/MIPS DWARF 2 extensions */ | ||||
.debug_weaknames 0 : { *(.debug_weaknames) } | ||||
.debug_funcnames 0 : { *(.debug_funcnames) } | ||||
.debug_typenames 0 : { *(.debug_typenames) } | ||||
.debug_varnames 0 : { *(.debug_varnames) } | ||||
} | ||||