lpc2478_rom.lds 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
  2. OUTPUT_ARCH(arm)
  3. ENTRY(_start)
  4. SECTIONS
  5. {
  6. . = 0x00000000;
  7. __text_start = .;
  8. .text :
  9. {
  10. *(.vectors)
  11. *(.text)
  12. *(.text.*)
  13. } =0
  14. __text_end = .;
  15. __rodata_start = .;
  16. .rodata :
  17. {
  18. *(.rodata)
  19. *(.rodata.*)
  20. /* section information for finsh shell */
  21. . = ALIGN(4);
  22. __fsymtab_start = .;
  23. KEEP(*(FSymTab))
  24. __fsymtab_end = .;
  25. . = ALIGN(4);
  26. __vsymtab_start = .;
  27. KEEP(*(VSymTab))
  28. __vsymtab_end = .;
  29. . = ALIGN(4);
  30. }
  31. __rodata_end = .;
  32. . = 0x40000000; /*Data in SRAM*/
  33. __data_start = .;
  34. . = ALIGN(4);
  35. .data :
  36. {
  37. *(.data)
  38. *(.data.*)
  39. }
  40. __data_end = .;
  41. . = ALIGN(4);
  42. __bss_start = __data_end;
  43. .bss :
  44. {
  45. *(.bss)
  46. *(.bss.*)
  47. *(COMMON)
  48. . = ALIGN(4);
  49. }
  50. . = ALIGN(4);
  51. __bss_end = .;
  52. . = ALIGN(4);
  53. __UndStack_start = __bss_end;
  54. .UndStack : { *(.UndStack) }
  55. __UndStack_end = ( __UndStack_start + 0x00000100 );
  56. . = ALIGN(4);
  57. __IRQStack_start = __UndStack_end;
  58. .IRQStack : { *(.IRQStack) }
  59. __IRQStack_end = ( __IRQStack_start + 0x00000400 );
  60. . = ALIGN(4);
  61. __FIQStack_start = __IRQStack_end;
  62. .FIQStack : { *(.FIQStack) }
  63. __FIQStack_end = ( __FIQStack_start + 0x00000400 );
  64. . = ALIGN(4);
  65. __SVCStack_start = __FIQStack_end;
  66. .SVCStack : { *(.SVCStack) }
  67. __SVCStack_end = ( __SVCStack_start + 0x00000400 );
  68. . = ALIGN(4);
  69. __ABTStack_start = __SVCStack_end;
  70. .ABTStack : { *(.ABTStack) }
  71. __ABTStack_end = ( __ABTStack_start + 0x00000400 );
  72. . = ALIGN(4);
  73. __USRStack_start = __ABTStack_end;
  74. .USRStack : { *(.USRStack) }
  75. __USRStack_end = ( __USRStack_start + 0x00000400 );
  76. . = ALIGN(4);
  77. __Heap_start = __USRStack_end;
  78. .Heap : { *(.Heap) }
  79. __Heap_end = (__Heap_start + 0x00004000);
  80. /* Stabs debugging sections. */
  81. .stab 0 : { *(.stab) }
  82. .stabstr 0 : { *(.stabstr) }
  83. .stab.excl 0 : { *(.stab.excl) }
  84. .stab.exclstr 0 : { *(.stab.exclstr) }
  85. .stab.index 0 : { *(.stab.index) }
  86. .stab.indexstr 0 : { *(.stab.indexstr) }
  87. .comment 0 : { *(.comment) }
  88. _end = .;
  89. }