Cortex-Mx linker scripts updated.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2885 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
d43e444377
commit
c878b791eb
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,32 @@ __ram_end__ = __ram_start__ + __ram_size__;
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
. = 0;
|
. = 0;
|
||||||
|
_text = .;
|
||||||
|
|
||||||
|
startup : ALIGN(16) SUBALIGN(16)
|
||||||
|
{
|
||||||
|
KEEP(*(vectors))
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
constructors : ALIGN(4) SUBALIGN(4)
|
||||||
|
{
|
||||||
|
PROVIDE(__init_array_start = .);
|
||||||
|
KEEP(*(SORT(.init_array.*)))
|
||||||
|
KEEP(*(.init_array))
|
||||||
|
PROVIDE(__init_array_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
destructors : 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 : ALIGN(16) SUBALIGN(16)
|
||||||
{
|
{
|
||||||
_text = .;
|
*(.text.startup.*)
|
||||||
KEEP(*(vectors))
|
|
||||||
*(.text)
|
*(.text)
|
||||||
*(.text.*)
|
*(.text.*)
|
||||||
*(.rodata)
|
*(.rodata)
|
||||||
|
@ -52,31 +73,26 @@ SECTIONS
|
||||||
*(.gcc*)
|
*(.gcc*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ctors :
|
.ARM.extab :
|
||||||
{
|
{
|
||||||
PROVIDE(_ctors_start_ = .);
|
*(.ARM.extab* .gnu.linkonce.armextab.*)
|
||||||
KEEP(*(SORT(.ctors.*)))
|
|
||||||
KEEP(*(.ctors))
|
|
||||||
PROVIDE(_ctors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.dtors :
|
.ARM.exidx : {
|
||||||
|
PROVIDE(__exidx_start = .);
|
||||||
|
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
|
||||||
|
PROVIDE(__exidx_end = .);
|
||||||
|
} > flash
|
||||||
|
|
||||||
|
.eh_frame_hdr :
|
||||||
{
|
{
|
||||||
PROVIDE(_dtors_start_ = .);
|
*(.eh_frame_hdr)
|
||||||
KEEP(*(SORT(.dtors.*)))
|
|
||||||
KEEP(*(.dtors))
|
|
||||||
PROVIDE(_dtors_end_ = .);
|
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {*(.ARM.extab* .gnu.linkonce.armextab.*)}
|
.eh_frame : ONLY_IF_RO
|
||||||
|
{
|
||||||
__exidx_start = .;
|
*(.eh_frame)
|
||||||
.ARM.exidx : {*(.ARM.exidx* .gnu.linkonce.armexidx.*)} > flash
|
} > flash
|
||||||
__exidx_end = .;
|
|
||||||
|
|
||||||
.eh_frame_hdr : {*(.eh_frame_hdr)}
|
|
||||||
|
|
||||||
.eh_frame : ONLY_IF_RO {*(.eh_frame)}
|
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
@ -84,26 +100,26 @@ SECTIONS
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
_data = .;
|
PROVIDE(_data = .);
|
||||||
*(.data)
|
*(.data)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.data.*)
|
*(.data.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.ramtext)
|
*(.ramtext)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_edata = .;
|
PROVIDE(_edata = .);
|
||||||
} > ram AT > flash
|
} > ram AT > flash
|
||||||
|
|
||||||
.bss :
|
.bss :
|
||||||
{
|
{
|
||||||
_bss_start = .;
|
PROVIDE(_bss_start = .);
|
||||||
*(.bss)
|
*(.bss)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(.bss.*)
|
*(.bss.*)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
_bss_end = .;
|
PROVIDE(_bss_end = .);
|
||||||
} > ram
|
} > ram
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue