2009-07-03 07:19:19 +08:00
|
|
|
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
|
|
|
|
OUTPUT_ARCH(arm)
|
|
|
|
ENTRY(_start)
|
|
|
|
SECTIONS
|
|
|
|
{
|
|
|
|
. = 0x00000000;
|
|
|
|
|
|
|
|
__text_start = .;
|
|
|
|
.text :
|
|
|
|
{
|
|
|
|
*(.vectors)
|
|
|
|
*(.text)
|
|
|
|
*(.text.*)
|
|
|
|
} =0
|
|
|
|
|
|
|
|
__text_end = .;
|
|
|
|
|
|
|
|
__rodata_start = .;
|
2010-11-26 11:19:04 +08:00
|
|
|
.rodata :
|
|
|
|
{
|
|
|
|
*(.rodata)
|
|
|
|
*(.rodata.*)
|
|
|
|
/* section information for finsh shell */
|
|
|
|
. = ALIGN(4);
|
|
|
|
__fsymtab_start = .;
|
|
|
|
KEEP(*(FSymTab))
|
|
|
|
__fsymtab_end = .;
|
|
|
|
. = ALIGN(4);
|
|
|
|
__vsymtab_start = .;
|
|
|
|
KEEP(*(VSymTab))
|
|
|
|
__vsymtab_end = .;
|
|
|
|
. = ALIGN(4);
|
|
|
|
}
|
2009-07-03 07:19:19 +08:00
|
|
|
__rodata_end = .;
|
|
|
|
|
2010-11-26 11:19:04 +08:00
|
|
|
. = 0x40000000; /*Data in SRAM*/
|
2009-07-03 07:19:19 +08:00
|
|
|
|
|
|
|
__data_start = .;
|
|
|
|
. = ALIGN(4);
|
|
|
|
.data :
|
|
|
|
{
|
|
|
|
*(.data)
|
|
|
|
*(.data.*)
|
|
|
|
}
|
|
|
|
__data_end = .;
|
|
|
|
|
|
|
|
. = ALIGN(4);
|
|
|
|
__bss_start = __data_end;
|
|
|
|
.bss :
|
|
|
|
{
|
|
|
|
*(.bss)
|
|
|
|
*(.bss.*)
|
|
|
|
*(COMMON)
|
|
|
|
. = ALIGN(4);
|
|
|
|
}
|
|
|
|
. = ALIGN(4);
|
|
|
|
__bss_end = .;
|
|
|
|
|
|
|
|
. = ALIGN(4);
|
|
|
|
__UndStack_start = __bss_end;
|
|
|
|
.UndStack : { *(.UndStack) }
|
|
|
|
__UndStack_end = ( __UndStack_start + 0x00000100 );
|
|
|
|
|
|
|
|
. = ALIGN(4);
|
|
|
|
__IRQStack_start = __UndStack_end;
|
|
|
|
.IRQStack : { *(.IRQStack) }
|
|
|
|
__IRQStack_end = ( __IRQStack_start + 0x00000400 );
|
|
|
|
|
|
|
|
. = ALIGN(4);
|
|
|
|
__FIQStack_start = __IRQStack_end;
|
|
|
|
.FIQStack : { *(.FIQStack) }
|
|
|
|
__FIQStack_end = ( __FIQStack_start + 0x00000400 );
|
|
|
|
|
|
|
|
. = ALIGN(4);
|
|
|
|
__SVCStack_start = __FIQStack_end;
|
|
|
|
.SVCStack : { *(.SVCStack) }
|
|
|
|
__SVCStack_end = ( __SVCStack_start + 0x00000400 );
|
|
|
|
|
|
|
|
. = ALIGN(4);
|
|
|
|
__ABTStack_start = __SVCStack_end;
|
|
|
|
.ABTStack : { *(.ABTStack) }
|
|
|
|
__ABTStack_end = ( __ABTStack_start + 0x00000400 );
|
|
|
|
|
|
|
|
. = ALIGN(4);
|
|
|
|
__USRStack_start = __ABTStack_end;
|
|
|
|
.USRStack : { *(.USRStack) }
|
|
|
|
__USRStack_end = ( __USRStack_start + 0x00000400 );
|
|
|
|
|
|
|
|
. = ALIGN(4);
|
|
|
|
__Heap_start = __USRStack_end;
|
|
|
|
.Heap : { *(.Heap) }
|
|
|
|
__Heap_end = (__Heap_start + 0x00004000);
|
|
|
|
|
|
|
|
|
|
|
|
/* 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) }
|
|
|
|
|
|
|
|
_end = .;
|
|
|
|
}
|