2013-01-08 22:40:58 +08:00
|
|
|
MEMORY
|
|
|
|
{
|
|
|
|
ram (rw) : o = 0x0000400, l = 31k
|
|
|
|
rom (rx) : o = 0x00A0000, l = 384k
|
|
|
|
nrom(rx) : o = 0x0000F000, l = 4k
|
|
|
|
xram(rw) : o = 0x00028000, l = 4k
|
|
|
|
}
|
|
|
|
|
|
|
|
_system_stack_size = 0x800;
|
|
|
|
|
|
|
|
SECTIONS
|
|
|
|
{
|
|
|
|
/* Variable Vector Section */
|
|
|
|
.var_vects 0x000FA000 :
|
|
|
|
{
|
|
|
|
KEEP(*( .var_vects))
|
|
|
|
} > rom
|
|
|
|
|
|
|
|
.text 0x000DD000 :
|
|
|
|
{
|
|
|
|
*(.text)
|
|
|
|
*(.text.*)
|
|
|
|
|
|
|
|
/* section information for finsh shell */
|
|
|
|
. = ALIGN(4);
|
|
|
|
___fsymtab_start = .;
|
|
|
|
KEEP(*(FSymTab))
|
|
|
|
___fsymtab_end = .;
|
|
|
|
. = ALIGN(4);
|
|
|
|
___vsymtab_start = .;
|
|
|
|
KEEP(*(VSymTab))
|
|
|
|
___vsymtab_end = .;
|
|
|
|
. = ALIGN(4);
|
|
|
|
|
|
|
|
etext = .;
|
|
|
|
} > rom
|
|
|
|
|
|
|
|
.rodata :
|
|
|
|
{
|
|
|
|
_rodata = .;
|
|
|
|
*(.rodata)
|
|
|
|
*(.rodata.*)
|
|
|
|
*(.frodata)
|
|
|
|
_erodata = .;
|
|
|
|
} > rom
|
|
|
|
|
|
|
|
.init :
|
|
|
|
{
|
|
|
|
*(.init)
|
|
|
|
} > rom
|
|
|
|
|
|
|
|
.fini :
|
|
|
|
{
|
|
|
|
*(.fini)
|
|
|
|
} > rom
|
|
|
|
|
|
|
|
.got :
|
|
|
|
{
|
|
|
|
*(.got)
|
|
|
|
*(.got.plt)
|
|
|
|
} > rom
|
|
|
|
|
|
|
|
.eh_frame_hdr :
|
|
|
|
{
|
|
|
|
*(.eh_frame_hdr)
|
|
|
|
} > rom
|
|
|
|
|
|
|
|
.eh_frame :
|
|
|
|
{
|
|
|
|
*(.eh_frame)
|
|
|
|
} > rom
|
|
|
|
|
|
|
|
.jcr :
|
|
|
|
{
|
|
|
|
*(.jcr)
|
|
|
|
} > rom
|
|
|
|
|
|
|
|
.tors :
|
|
|
|
{
|
|
|
|
__CTOR_LIST__ = .;
|
|
|
|
___ctors = .;
|
|
|
|
*(.ctors)
|
|
|
|
___ctors_end = .;
|
|
|
|
__CTOR_END__ = .;
|
|
|
|
__DTOR_LIST__ = .;
|
|
|
|
___dtors = .;
|
|
|
|
*(.dtors)
|
|
|
|
___dtors_end = .;
|
|
|
|
__DTOR_END__ = .;
|
|
|
|
_mdata = .;
|
|
|
|
} > rom
|
|
|
|
|
|
|
|
.data 0x00000400 : AT (_mdata)
|
|
|
|
{
|
|
|
|
_data = .;
|
|
|
|
*(.data)
|
|
|
|
*(.data.*)
|
|
|
|
*(.ndata)
|
|
|
|
*(.ndata.*)
|
|
|
|
*(.plt)
|
|
|
|
_edata = .;
|
|
|
|
} > ram
|
|
|
|
|
|
|
|
.bss :
|
|
|
|
{
|
|
|
|
_bss = .;
|
|
|
|
*(.bss)
|
|
|
|
*(COMMON)
|
|
|
|
*(.nbss)
|
|
|
|
_ebss = .;
|
|
|
|
_end = .;
|
|
|
|
} > ram
|
|
|
|
|
|
|
|
.gcc_exc :
|
|
|
|
{
|
|
|
|
*(.gcc_exc)
|
|
|
|
} > ram
|
|
|
|
|
|
|
|
/* User Stack Pointer */
|
|
|
|
/*
|
|
|
|
.ustack 0x00003000 :
|
|
|
|
{
|
|
|
|
_ustack = .;
|
|
|
|
} > ram
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* Interrupt Stack Pointer */
|
|
|
|
.istack :
|
|
|
|
{
|
|
|
|
. = . + _system_stack_size;
|
|
|
|
. = ALIGN(4);
|
|
|
|
_istack = .;
|
|
|
|
} > ram
|
|
|
|
|
|
|
|
. = ALIGN(4);
|
|
|
|
_user_ram_end = .;
|
|
|
|
|
|
|
|
.nrodata 0x0000F000 :
|
|
|
|
{
|
|
|
|
_nrodata = .;
|
|
|
|
*(.nrodata)
|
|
|
|
*(.nrodata.*)
|
|
|
|
_enrodata = .;
|
|
|
|
} > nrom
|
|
|
|
|
|
|
|
.fdata 0x00028000 : AT (_mdata + SIZEOF(.data))
|
|
|
|
{
|
|
|
|
_fdata = .;
|
|
|
|
*(.fdata)
|
|
|
|
*(.fdata.*)
|
|
|
|
_efdata = .;
|
|
|
|
} > xram
|
|
|
|
.fbss :
|
|
|
|
{
|
|
|
|
_fbss = .;
|
|
|
|
*(.fbss)
|
|
|
|
*(.fbss.*)
|
|
|
|
_efbss = .;
|
|
|
|
} > xram
|
|
|
|
|
|
|
|
/* Fixed Vector Section */
|
|
|
|
.vects 0x000FFFDC :
|
|
|
|
{
|
|
|
|
KEEP(*( .vects))
|
|
|
|
} > rom
|
|
|
|
|
2012-04-14 15:04:27 +08:00
|
|
|
}
|