link.ld
 1  OUTPUT_ARCH( "riscv" )
 2  ENTRY(_start)
 3  
 4  MEMORY
 5  {
 6      text (rxai!w) : ORIGIN = 0x00000000, LENGTH = 64K
 7      data (wxa!ri) : ORIGIN = 0x10000000, LENGTH = 128K
 8  }
 9  
10  PHDRS
11  {
12    text PT_LOAD;
13    data_init PT_LOAD;
14    data PT_NULL;
15  }
16  
17  SECTIONS
18  {
19    .text.init : { *(.text.init) } >text AT>text :text
20    . = ALIGN(0x1000);
21    .text : { *(.text) } >text AT>text :text
22    . = ALIGN(0x1000);
23    .data : { *(.data) } >data AT>data :data_init
24    .bss : { *(.bss) } >data AT>data :data
25    _end = .;
26  }