s3c4510b_ram.ld 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. OUTPUT_ARCH(arm)
  2. ENTRY(TheEntry)
  3. MEMORY
  4. {
  5. ram (rwx) : ORIGIN = 0x00000000, LENGTH = 0x01000000
  6. /* ram (rwx) : ORIGIN = 0xffbf20, LENGTH = 16k */
  7. }
  8. SECTIONS
  9. {
  10. /* interrupt vector area */
  11. .vects 0x00000000 :
  12. {
  13. _vects = .;
  14. *(.vects);
  15. } > ram
  16. /* startup code area, bois will jump to 0x8000 after boot */
  17. /* only one instruction in this section */
  18. .init 0x00008000 :
  19. {
  20. *(.init)
  21. } > ram
  22. /*
  23. ram vectors
  24. .ramvects 0x00008010 :
  25. {
  26. *(.ramvects)
  27. } > ram
  28. */
  29. /* program code area . = ALIGN(4); */
  30. .text 0x00008100 :
  31. {
  32. _text = .;
  33. *(.text)
  34. *(.text.*)
  35. *(.rodata)
  36. . = ALIGN(0x100);
  37. _etext = .;
  38. } > ram
  39. /* rom image of the initialized data area */
  40. .data :
  41. {
  42. _data_start = .;
  43. *(.data)
  44. . = ALIGN(0x100);
  45. *(.data.*);
  46. . = ALIGN(4);
  47. _edata = .;
  48. } > ram
  49. /* uninitialized data area */
  50. .bss :
  51. {
  52. _bss_start = .;
  53. *(.bss)
  54. *(COMMON)
  55. . = ALIGN(0x100);
  56. __bss_end = .;
  57. } > ram
  58. /* set stack pointer */
  59. .stack (0x01000000 ) :
  60. {
  61. __stack = .;
  62. }
  63. /*
  64. * PROVIDE(__stack = 0x01000000);
  65. */
  66. }