sam3u4_flash.ld 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /******************************************************************************
  2. *
  3. * sam3u_flash.ld - linker script for nutos on cotrex-m3 sam3u-ek
  4. *
  5. *****************************************************************************/
  6. ENTRY(ResetISR)
  7. STARTUP(crtsam3u4_flash.o)
  8. SEARCH_DIR(.)
  9. OUTPUT_ARCH(arm)
  10. MEMORY
  11. {
  12. FLASH0 (rx) : ORIGIN = 0x00080000, LENGTH = 128K
  13. FLASH1 (rx) : ORIGIN = 0x00100000, LENGTH = 128K
  14. SRAM0 (rwx) : ORIGIN = 0x20000100, LENGTH = 0x00007F00
  15. SRAM1 (rwx) : ORIGIN = 0x20080000, LENGTH = 16K
  16. }
  17. SECTIONS
  18. {
  19. .text :
  20. {
  21. . = ALIGN(4);
  22. KEEP(*(.isr_vector))
  23. *(.text*)
  24. *(.rodata*)
  25. . = ALIGN(4);
  26. _etext = .;
  27. } > FLASH0
  28. .data : AT (ADDR(.text) + SIZEOF(.text))
  29. {
  30. . = ALIGN(4);
  31. _data = .;
  32. *(vtable)
  33. *(.data*)
  34. . = ALIGN(4);
  35. _edata = .;
  36. } > SRAM0
  37. .bss :
  38. {
  39. PROVIDE (_bss = .);
  40. *(.bss)
  41. *(COMMON)
  42. . = ALIGN(4);
  43. PROVIDE (_ebss = .);
  44. . += 0x400;
  45. PROVIDE (__exp_stack = .);
  46. . += 0x400;
  47. PROVIDE (__stack = .);
  48. PROVIDE (__heap_start = .);
  49. } > SRAM0
  50. }
  51. end = .;