stm32f1.ld.S 892 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. ENTRY(vector_table)
  2. MEMORY
  3. {
  4. FLASH (rx) : ORIGIN = FLASH_BASE, LENGTH = FLASH_LEN
  5. RAM (rwx) : ORIGIN = RAM_BASE, LENGTH = RAM_LEN
  6. }
  7. REGION_ALIAS("RO", FLASH);
  8. REGION_ALIAS("RW", RAM);
  9. SECTIONS
  10. {
  11. .text : {
  12. _stext = .;
  13. *(.vector_table)
  14. *(.text)
  15. *(.text*)
  16. *(.rodata)
  17. *(.rodata*)
  18. KEEP (*(.init))
  19. KEEP (*(.fini))
  20. . = ALIGN(4);
  21. _etext = .;
  22. } >RO
  23. .data : AT (_etext) {
  24. . = ALIGN(4);
  25. _sdat = .;
  26. *(.data)
  27. *(.data*)
  28. . = ALIGN(4);
  29. _edat = .;
  30. _ldat = LOADADDR(.data);
  31. } >RW
  32. .bss : {
  33. . = ALIGN(8);
  34. _irq_stackbottom = .;
  35. . = . + 512;
  36. _irq_stacktop = .;
  37. _thread_stackbottom = .;
  38. . = . + 1024;
  39. _thread_stacktop = .;
  40. _sbss = .;
  41. *(.bss)
  42. *(.bss*)
  43. . = ALIGN(4);
  44. _ebss = .;
  45. } >RW
  46. /DISCARD/ : {
  47. *(.eh_frame)
  48. }
  49. .ARM.attributes 0 : { *(.ARM.attributes) }
  50. }