SECTIONS
{
.text :
{
_text = .;
_nvram_start = .;
*(.boot*)
*(.text*)
*(.rodata*)
. = ALIGN(PAGE_SIZE);
_etext = .;
} > FLASH
.nvm_data : ALIGN(PAGE_SIZE)
{
_nvram_data = .;
*(.nvm_data*)
. = ALIGN(PAGE_SIZE);
_envram_data = .;
_install_parameters = .;
_nvram_end = .;
} > FLASH
.data : ALIGN(4)
{
_data = .;
*(vtable)
*(.data*)
_edata = .;
} > SRAM
ASSERT( (_edata - _data) <= 0, ".data section must be empty" )
.bss :
{
_bss = .;
*(.bss*)
_ebss = .;
. = ALIGN(4);
app_stack_canary = .;
. += 4;
_stack_validation = .;
. = _stack_validation + STACK_SIZE;
_stack = ABSOLUTE(END_STACK) - STACK_SIZE;
_estack = ABSOLUTE(END_STACK);
} > SRAM
.ledger.api_level (INFO): { KEEP(*(.ledger.api_level)) }
.stack_sizes (INFO):
{
KEEP(*(.stack_sizes));
}
/DISCARD/ :
{
libc.a ( * )
libm.a ( * )
libgcc.a ( * )
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
*(.debug_info)
}
}
PROVIDE(_nvram = ABSOLUTE(_nvram_start));
PROVIDE(_envram = ABSOLUTE(_nvram_end));