MEMORY
{
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 256K
RAM (rwx) : ORIGIN = 0x1FFF8000, LENGTH = 64K
}
EXTERN(__cntrlr_interrupts);
EXTERN(__cntrlr_exceptions);
EXTERN(__cntrlr_flash_configuration);
SECTIONS
{
PROVIDE(__cntrlr_reset = __cntrlr_default_reset);
.text :
{
. = 0;
LONG(ORIGIN(RAM) + LENGTH(RAM))
LONG(__cntrlr_reset)
*(.__CNTRLR_EXCEPTIONS*)
*(.__CNTRLR_INTERRUPTS*)
. = 0x400;
KEEP(*(.__CNTRLR_FLASH_CONFIG*))
*(.text*)
} > FLASH
.rodata :
{
*(.rodata*)
. = ALIGN(4);
} > FLASH
.data :
{
. = ALIGN(4);
__cntrlr_data_start = .;
*(.data*)
. = ALIGN(4);
__cntrlr_data_end = .;
} > RAM AT>FLASH
__cntrlr_data_flash_start = LOADADDR(.data);
.bss :
{
. = ALIGN(4);
__cntrlr_bss_start = .;
*(.bss*)
*(COMMON)
. = ALIGN(4);
__cntrlr_bss_end = .;
} > RAM
__cntrlr_heap_start = .;
/DISCARD/ :
{
*(.ARM.exidx*);
*(.ARM.extab*);
*(.got*);
}
}