/************************************************************* | |
// <<< Use Configuration Wizard in Context Menu >>> | |
*************************************************************/ | |
/************************************************************* | |
// <m> Entry Point <2> | |
// <i> config start function for this application | |
*************************************************************/ | |
MEMORY | |
{ | |
ROM : ORIGIN = 0x0 , LENGTH = 0x2000 /* ROM 8KB*/ | |
EFLASH : ORIGIN = 0x60000000 , LENGTH = 0x4000 /* E-FLASH 252KB*/ | |
SRAM : ORIGIN = 0x60004000 , LENGTH = 0xC000 /* on-chip SRAM 80KB*/ | |
} | |
__min_heap_size = 0x200; | |
PROVIDE (__ram_end = 0x60014000); | |
PROVIDE (__heap_end = __ram_end); | |
REGION_ALIAS("REGION_TEXT", EFLASH); | |
REGION_ALIAS("REGION_RODATA", EFLASH); | |
REGION_ALIAS("REGION_DATA", SRAM); | |
REGION_ALIAS("REGION_BSS", SRAM); | |
ENTRY(Reset_Handler) | |
SECTIONS | |
{ | |
.text : { | |
. = ALIGN(0x4) ; | |
*startup.o(*.text) | |
__stext = . ; | |
*(.text) | |
*(.text*) | |
*(.text.*) | |
*(.gnu.warning) | |
*(.stub) | |
*(.gnu.linkonce.t*) | |
*(.glue_7t) | |
*(.glue_7) | |
*(.jcr) | |
KEEP (*(.init)) | |
KEEP (*(.fini)) | |
. = ALIGN (4) ; | |
PROVIDE(__ctbp = .); | |
*(.call_table_data) | |
*(.call_table_text) | |
. = ALIGN(0x10) ; | |
__etext = . ; | |
} > REGION_TEXT | |
.eh_frame_hdr : { | |
*(.eh_frame_hdr) | |
} > REGION_TEXT | |
.eh_frame : ONLY_IF_RO { | |
KEEP (*(.eh_frame)) | |
} > REGION_TEXT | |
.gcc_except_table : ONLY_IF_RO { | |
*(.gcc_except_table .gcc_except_table.*) | |
} > REGION_TEXT | |
.rodata : { | |
. = ALIGN(0x4) ; | |
__srodata = .; | |
*(.rdata) | |
*(.rdata*) | |
*(.rdata1) | |
*(.rdata.*) | |
*(.rodata) | |
*(.rodata1) | |
*(.rodata*) | |
*(.rodata.*) | |
*(.rodata.str1.4) | |
. = ALIGN(0x4) ; | |
__ctor_start__ = .; | |
KEEP (*(SORT(.ctors.*))) | |
KEEP (*(.ctors)) | |
__ctor_end__ = .; | |
KEEP (*(SORT(.dtors.*))) | |
KEEP (*(.dtors)) | |
__dtor_end__ = .; | |
. = ALIGN(0x4) ; | |
__erodata = .; | |
__rodata_end__ = .; | |
} > REGION_RODATA | |
.data : { | |
. = ALIGN(0x4) ; | |
__sdata = . ; | |
__data_start__ = . ; | |
data_start = . ; | |
KEEP(*startup.o(.vectors)) | |
*(.got.plt) | |
*(.got) | |
*(.gnu.linkonce.r*) | |
*(.data) | |
*(.data*) | |
*(.data1) | |
*(.data.*) | |
*(.gnu.linkonce.d*) | |
*(.data1) | |
*(.gcc_except_table) | |
*(.gcc_except_table*) | |
__start_init_call = .; | |
*(.initcall.init) | |
__stop_init_call = .; | |
__start_cmd = .; | |
*(.bootloaddata.cmd) | |
. = ALIGN(4) ; | |
__stop_cmd = .; | |
*(.sdata) | |
*(.sdata.*) | |
*(.gnu.linkonce.s.*) | |
*(__libc_atexit) | |
*(__libc_subinit) | |
*(__libc_subfreeres) | |
*(.note.ABI-tag) | |
__edata = .; | |
__data_end__ = .; | |
. = ALIGN(0x4) ; | |
} > REGION_DATA AT > REGION_RODATA | |
.eh_frame : ONLY_IF_RW { | |
KEEP (*(.eh_frame)) | |
} > REGION_DATA AT > REGION_RODATA | |
.gcc_except_table : ONLY_IF_RW { | |
*(.gcc_except_table .gcc_except_table.*) | |
__edata = .; | |
__data_end__ = .; | |
} > REGION_DATA AT > REGION_RODATA | |
.bss : { | |
. = ALIGN(0x4) ; | |
__sbss = ALIGN(0x4) ; | |
__bss_start__ = . ; | |
*(.dynsbss) | |
*(.sbss) | |
*(.sbss.*) | |
*(.scommon) | |
*(.dynbss) | |
*(.bss) | |
*(.bss.*) | |
*(COMMON) | |
. = ALIGN(0x4) ; | |
__ebss = . ; | |
__bss_end__ = .; | |
__end = . ; | |
end = . ; | |
} > REGION_BSS AT > REGION_BSS | |
._user_heap : { | |
. = ALIGN(0x4) ; | |
__heap_start = .; | |
. += __min_heap_size; | |
. = ALIGN(0x4) ; | |
} > REGION_BSS AT > REGION_BSS | |
} |