github.com/tinygo-org/tinygo@v0.31.3-0.20240404173401-90b0bf646c27/targets/avr.ld (about) 1 2 MEMORY 3 { 4 FLASH_TEXT (rw) : ORIGIN = 0, LENGTH = __flash_size - _bootloader_size 5 RAM (xrw) : ORIGIN = 0x800000 + __ram_start, LENGTH = __ram_size 6 } 7 8 ENTRY(main) 9 10 SECTIONS 11 { 12 .text : 13 { 14 KEEP(*(.vectors)) 15 KEEP(*(.text.__vector_RESET)) 16 KEEP(*(.text.main)) /* main must follow the reset handler */ 17 *(.text) 18 *(.text.*) 19 *(.progmem) 20 *(.progmem.*) 21 . = ALIGN(16); /* needed with ld.lld for some reasoon */ 22 } 23 24 .stack (NOLOAD) : 25 { 26 . += _stack_size; 27 _stack_top = .; 28 } >RAM 29 30 _sidata = LOADADDR(.data); 31 32 .data : 33 { 34 _sdata = .; /* used by startup code */ 35 *(.rodata) 36 *(.rodata.*) 37 *(.data) 38 *(.data*) 39 _edata = .; /* used by startup code */ 40 } >RAM AT>FLASH_TEXT 41 42 .bss : 43 { 44 _sbss = .; /* used by startup code */ 45 *(.bss) 46 *(.bss*) 47 *(COMMON) 48 _ebss = .; /* used by startup code */ 49 } >RAM 50 } 51 52 /* For the memory allocator. */ 53 _heap_start = _ebss; 54 _heap_end = ORIGIN(RAM) + LENGTH(RAM); 55 _globals_start = _sdata; 56 _globals_end = _ebss;