target.ld 1005 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. OUTPUT_ARCH( "riscv" )
  2. ENTRY( _reset )
  3. MEMORY
  4. {
  5. FLASH (rxai!w) : ORIGIN = 0x08000000, LENGTH = 128K
  6. RAM (wxa!ri) : ORIGIN = 0x20000000, LENGTH = 32K
  7. }
  8. SECTIONS
  9. {
  10. .text :
  11. {
  12. _start_text = .;
  13. KEEP(*(.init))
  14. . = ORIGIN(FLASH) + 0x400;
  15. _start_vector = .;
  16. KEEP(*(.isr_vector))
  17. *(.text*)
  18. *(.rodata*)
  19. *(.srodata*)
  20. . = ALIGN(4);
  21. _end_text = .;
  22. } > FLASH
  23. _stored_data = .;
  24. .data : AT (_stored_data)
  25. {
  26. . = ALIGN(4096);
  27. _start_data = .;
  28. KEEP(*(.ramcode*))
  29. . = ALIGN(4);
  30. *(.data*)
  31. . = ALIGN(4);
  32. _global_pointer = . + 0x800;
  33. *(.sdata*)
  34. . = ALIGN(4);
  35. _end_data = .;
  36. } > RAM
  37. .bss (NOLOAD) :
  38. {
  39. _start_bss = .;
  40. *(.bss*)
  41. *(COMMON)
  42. . = ALIGN(4);
  43. _end_bss = .;
  44. _end = .;
  45. } > RAM
  46. }
  47. PROVIDE(_start_heap = _end);
  48. PROVIDE(_end_stack = ORIGIN(RAM) + (LENGTH(RAM)) );