non-contiguous.ld 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. section .data.1 fits in .raml
  3. sections .data.2 .data.3 fit in .ramu
  4. section .data.4 fits in .ramz
  5. */
  6. MEMORY
  7. {
  8. RAML (rwx) : ORIGIN = 0x1FFF0000, LENGTH = 0x00014
  9. RAMU (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00040
  10. RAMZ (rwx) : ORIGIN = 0x20040000, LENGTH = 0x00040
  11. }
  12. SECTIONS
  13. {
  14. /* Ignore this target specific info in output comparison. */
  15. /DISCARD/ : {
  16. *(.ARM.attributes)
  17. *(.ARC.attributes)
  18. *(.riscv.attributes)
  19. *(.c6xabi.attributes)
  20. *(.trampolines)
  21. *(.reginfo)
  22. *(.note.renesas)
  23. *(.MIPS.abiflags)
  24. *(.MSP430.attributes)
  25. *(.csky.attributes)
  26. *(.gnu.attributes)
  27. }
  28. .raml : /*AT ( ADDR (.text) + SIZEOF (.text) )*/
  29. { _raml_start = . ;
  30. *(.boot) ;
  31. *(.data) *(.data.*) ;
  32. _raml_end = . ;
  33. } > RAML
  34. .ramu : AT ( ADDR (.raml) + SIZEOF (.raml) )
  35. { _ramu_start = . ;
  36. *(.data) *(.data.*) ;
  37. _ramu_end = . ;
  38. } > RAMU
  39. .ramz : AT ( ADDR (.ramu) + SIZEOF (.ramu) )
  40. { _ramz_start = . ;
  41. *(.data) *(.data.*) ;
  42. _ramz_end = . ;
  43. } > RAMZ
  44. }