github.com/aykevl/tinygo@v0.5.0/targets/avr.ld (about)

     1  
     2  MEMORY
     3  {
     4      FLASH_TEXT (rw) : ORIGIN = 0, LENGTH = __flash_size - _bootloader_size
     5      RAM (xrw)       : ORIGIN = 0, LENGTH = __ram_size
     6  }
     7  
     8  SECTIONS
     9  {
    10      .text :
    11      {
    12          KEEP(*(.vectors))
    13          KEEP(*(.text.__vector_RESET))
    14          KEEP(*(.text.main)) /* main must follow the reset handler */
    15          *(.text.*)
    16          *(.rodata)
    17          *(.rodata.*)
    18      }
    19  
    20      .stack :
    21      {
    22          . += _stack_size;
    23          _stack_top = .;
    24      } >RAM
    25  
    26      _sidata = LOADADDR(.data);
    27  
    28      .data :
    29      {
    30          _sdata = .;        /* used by startup code */
    31          *(.data)
    32          *(.data*)
    33          _edata = .;        /* used by startup code */
    34      } >RAM AT>FLASH_TEXT
    35  
    36      .bss :
    37      {
    38          _sbss = .;         /* used by startup code */
    39          *(.bss)
    40          *(.bss*)
    41          *(COMMON)
    42          _ebss = .;         /* used by startup code */
    43      } >RAM
    44  }
    45  
    46  /* For the memory allocator. */
    47  _heap_start = _ebss;
    48  _heap_end = ORIGIN(RAM) + LENGTH(RAM);