ENTRY(_start) /* Keep bootloader BSS/stack inside the same DTIM window used by the app image. */ MEMORY { rom (rx) : ORIGIN = 0x00010000, LENGTH = 64K ram (rwx) : ORIGIN = DEFINED(__dtim_base) ? __dtim_base : 0x80000000, LENGTH = DEFINED(__dtim_size) ? __dtim_size : 0x00100000 } SECTIONS { . = ORIGIN(rom); .text : ALIGN(4) { KEEP(*(.text.start)) *(.text .text.*) *(.rodata .rodata.*) } > rom . = ALIGN(8); PROVIDE(__global_pointer$ = . + 0x800); .data : ALIGN(8) { *(.sdata .sdata.*) *(.data .data.*) } > rom .bss (NOLOAD) : ALIGN(8) { __bss_start = .; *(.sbss .sbss.*) *(.bss .bss.*) *(COMMON) __bss_end = .; } > ram _stack_top = ORIGIN(ram) + LENGTH(ram); }