/* This is for the variant without boot ROM, where the flash ROM is mirrored to address zero */ OUTPUT_FORMAT(elf32-sh) INPUT(bootloader.o) MEMORY { IRAM : ORIGIN = 0x0FFFF000, LENGTH = 0x1000 FLASH : ORIGIN = 0x00000000, LENGTH = 0x40000 } SECTIONS { .vectors : { *(.vectors) . = ALIGN(0x200); } > FLASH .startup : { *(.startup) . = ALIGN(0x4); _begin_iramcopy = .; } > FLASH .text : AT ( _begin_iramcopy ) { _begin_text = .; *(.text) . = ALIGN(0x4); _end_text = .; } > IRAM .data : AT ( _end_text ) { _begin_data = .; *(.data) . = ALIGN(0x4); _end_data = .; } > IRAM .bss : AT ( _end_data ) { _begin_bss = .; *(.bss) . = ALIGN(0x4); _end_bss = .; } > IRAM .stack : { _begin_stack = .; *(.stack) . = ALIGN(0x1000); _end_stack = .; } > IRAM /* size of the program (without vectors) */ _total_size = SIZEOF(.startup) + SIZEOF(.text) + SIZEOF(.data); }