Skip to content

ld指令

  • entry(symbol)
  • output_arch(riscv)
  • memory
    memory{
        rom(rw):origin=0,length=256k
        ram(rw):org=0x40000000,l=4m
    }
  • sections
sections{
    . = 0x1000;
    .text:{
        *(.text)
    }
    .data :{
        *(.data)
    }
    .bass :{
        *.(bss)
    }
} >ram

PHDRS

  • 定义elf的 Segments
PHDRS 
{
  text PT_LOAD FLAGS(5);
  data PT_LOAD FLAGS(6);
}
  • sections 的存放
    PrgCode 0 :ALIGN_WITH_INPUT
    {
        *(.text*)
        EXCLUDE_FILE (*FlashDev.*) *(.rodata*)
        . = ALIGN(16);
    } :text