init.ld 806 B

123456789101112131415161718192021222324252627282930313233
  1. OUTPUT_ARCH( "riscv" )
  2. ENTRY(_start)
  3. SECTIONS
  4. {
  5. PROVIDE(__stack_pointer$ = SRAM_BASE + SRAM_SIZE);
  6. . = __boot_addr;
  7. .text.init __boot_addr : ALIGN(4) {
  8. *(.text.entry)
  9. *(.text.init)
  10. *(.text.init.*)
  11. . = ALIGN(4);
  12. } >REGION_TEXT
  13. .text.itim : ALIGN(4) {
  14. *(.text.itim);
  15. *(.text.itim.*);
  16. . = ALIGN(4);
  17. } >ITIM AT >REGION_TEXT
  18. __itim_text_lma = LOADADDR(.text.itim);
  19. __itim_text_vma = ADDR(.text.itim);
  20. __itim_text_size = __itim_text_lma == __itim_text_vma ? 0 : SIZEOF(.text.itim);
  21. .text.sram : ALIGN(4) {
  22. *(.text.sram);
  23. *(.text.sram.*);
  24. . = ALIGN(4);
  25. } >SRAM AT >REGION_TEXT
  26. __sram_text_lma = LOADADDR(.text.sram);
  27. __sram_text_vma = ADDR(.text.sram);
  28. __sram_text_size = __sram_text_lma == __sram_text_vma ? 0 : SIZEOF(.text.sram);
  29. }