MEMORY
{
FLASH (rx): ORIGIN = 0x08000000, LENGTH = 512K
SRAM (rwx): ORIGIN = 0x24000000, LENGTH = 512K
}
SECTIONS
{
.isr_vector :
{
KEEP(*(.isr_vector))
} >FLASH
.text :
{
. = ALIGN(4);
*(.text)
*(.rodata)
. = ALIGN(4);
_etext = .;
} >FLASH
.preinit_array :
{
PROVIDE_HIDDEN (__preinit_array_start = .);
KEEP (*(.preinit_array*))
PROVIDE_HIDDEN (__preinit_array_end = .);
} >FLASH
.init_array :
{
PROVIDE_HIDDEN (__init_array_start = .);
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array*))
PROVIDE_HIDDEN (__init_array_end = .);
} >FLASH
.fini_array :
{
PROVIDE_HIDDEN (__fini_array_start = .);
KEEP (*(SORT(.fini_array.*)))
KEEP (*(.fini_array*))
PROVIDE_HIDDEN (__fini_array_end = .);
} >FLASH
.data :
{
. = ALIGN(4);
_sdata = .;
*(.data)
. = ALIGN(4);
_edata = .;
} >SRAM AT> FLASH
_data_size = _edata - _sdata;
_data_loadaddr = LOADADDR(.data);
.bss :
{
. = ALIGN(4);
_sbss = .;
__bss_start__ = _sbss;
*(.bss)
. = ALIGN(4);
_ebss = .;
__bss_end__ = _ebss;
} >SRAM
_bss_size = _ebss - _sbss;
}
ENTRY(reset_handler)