application.lds 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. OUTPUT_FORMAT("elf32-c33", "elf32-c33", "elf32-c33")
  2. OUTPUT_ARCH(c33)
  3. SEARCH_DIR(.);
  4. MEMORY
  5. {
  6. a0ram (rwx): ORIGIN = 0x00000000, LENGTH = 8k
  7. ivram (rwx): ORIGIN = 0x00080000, LENGTH = 12k
  8. dstram (rwx): ORIGIN = 0x00084000, LENGTH = 2k
  9. sdram (rwx): ORIGIN = 0x10000000, LENGTH = 32M
  10. }
  11. SECTIONS
  12. {
  13. /* the SPI_exchange and FLASH_read are built into the master boot record
  14. * to save a little space
  15. */
  16. mbr_FLASH_read = 0x2;
  17. mbr_SPI_exchange = 0x4;
  18. __dp = 0;
  19. .text 0x200 :
  20. {
  21. *(.text) ;
  22. } > a0ram
  23. __START_text = LOADADDR(.text);
  24. __SIZE_text = SIZEOF(.text);
  25. .rodata :
  26. {
  27. *(.rodata) ;
  28. } > a0ram
  29. __START_rodata = LOADADDR(.rodata);
  30. __SIZE_rodata = SIZEOF(.rodata);
  31. .data :
  32. {
  33. *(.data) ;
  34. } > a0ram
  35. __START_data = LOADADDR(.data);
  36. __SIZE_data = SIZEOF(.data);
  37. .bss :
  38. {
  39. *(.bss) ;
  40. } > a0ram
  41. __START_bss = LOADADDR(.bss);
  42. __SIZE_bss = SIZEOF(.bss);
  43. .idma : {
  44. . = . + 2048;
  45. } > dstram
  46. __START_idma = LOADADDR(.bss);
  47. __SIZE_idma = SIZEOF(.bss);
  48. /* __START_SDRAM = ORIGIN(sdram); */
  49. __START_SDRAM = 0x10000000;
  50. }