lscript.ld 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. /*******************************************************************/
  2. /* */
  3. /* This file is automatically generated by linker script generator.*/
  4. /* */
  5. /* Version: 2018.3 */
  6. /* */
  7. /* Copyright (c) 2010-2019 Xilinx, Inc. All rights reserved. */
  8. /* */
  9. /* Description : MicroBlaze Linker Script */
  10. /* */
  11. /*******************************************************************/
  12. _STACK_SIZE = DEFINED(_STACK_SIZE) ? _STACK_SIZE : 0x400;
  13. _HEAP_SIZE = DEFINED(_HEAP_SIZE) ? _HEAP_SIZE : 0x800;
  14. /* Define Memories in the system */
  15. MEMORY
  16. {
  17. microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem : ORIGIN = 0x50, LENGTH = 0x1FFB0
  18. }
  19. /* Specify the default entry point to the program */
  20. ENTRY(_start)
  21. /* Define the sections, and where they are mapped in memory */
  22. SECTIONS
  23. {
  24. .vectors.reset 0x0 : {
  25. KEEP (*(.vectors.reset))
  26. }
  27. .vectors.sw_exception 0x8 : {
  28. KEEP (*(.vectors.sw_exception))
  29. }
  30. .vectors.interrupt 0x10 : {
  31. KEEP (*(.vectors.interrupt))
  32. }
  33. .vectors.hw_exception 0x20 : {
  34. KEEP (*(.vectors.hw_exception))
  35. }
  36. .text : {
  37. *(.text)
  38. *(.text.*)
  39. *(.gnu.linkonce.t.*)
  40. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  41. .note.gnu.build-id : {
  42. KEEP (*(.note.gnu.build-id))
  43. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  44. .init : {
  45. KEEP (*(.init))
  46. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  47. .fini : {
  48. KEEP (*(.fini))
  49. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  50. .ctors : {
  51. __CTOR_LIST__ = .;
  52. ___CTORS_LIST___ = .;
  53. KEEP (*crtbegin.o(.ctors))
  54. KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors))
  55. KEEP (*(SORT(.ctors.*)))
  56. KEEP (*(.ctors))
  57. __CTOR_END__ = .;
  58. ___CTORS_END___ = .;
  59. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  60. .dtors : {
  61. __DTOR_LIST__ = .;
  62. ___DTORS_LIST___ = .;
  63. KEEP (*crtbegin.o(.dtors))
  64. KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors))
  65. KEEP (*(SORT(.dtors.*)))
  66. KEEP (*(.dtors))
  67. PROVIDE(__DTOR_END__ = .);
  68. PROVIDE(___DTORS_END___ = .);
  69. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  70. .rodata : {
  71. __rodata_start = .;
  72. *(.rodata)
  73. *(.rodata.*)
  74. *(.gnu.linkonce.r.*)
  75. __rodata_end = .;
  76. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  77. .sdata2 : {
  78. . = ALIGN(8);
  79. __sdata2_start = .;
  80. *(.sdata2)
  81. *(.sdata2.*)
  82. *(.gnu.linkonce.s2.*)
  83. . = ALIGN(8);
  84. __sdata2_end = .;
  85. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  86. .sbss2 : {
  87. __sbss2_start = .;
  88. *(.sbss2)
  89. *(.sbss2.*)
  90. *(.gnu.linkonce.sb2.*)
  91. __sbss2_end = .;
  92. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  93. .data : {
  94. . = ALIGN(4);
  95. __data_start = .;
  96. *(.data)
  97. *(.data.*)
  98. *(.gnu.linkonce.d.*)
  99. __data_end = .;
  100. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  101. .got : {
  102. *(.got)
  103. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  104. .got1 : {
  105. *(.got1)
  106. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  107. .got2 : {
  108. *(.got2)
  109. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  110. .eh_frame : {
  111. *(.eh_frame)
  112. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  113. .jcr : {
  114. *(.jcr)
  115. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  116. .gcc_except_table : {
  117. *(.gcc_except_table)
  118. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  119. .sdata : {
  120. . = ALIGN(8);
  121. __sdata_start = .;
  122. *(.sdata)
  123. *(.sdata.*)
  124. *(.gnu.linkonce.s.*)
  125. __sdata_end = .;
  126. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  127. .sbss (NOLOAD) : {
  128. . = ALIGN(4);
  129. __sbss_start = .;
  130. *(.sbss)
  131. *(.sbss.*)
  132. *(.gnu.linkonce.sb.*)
  133. . = ALIGN(8);
  134. __sbss_end = .;
  135. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  136. .tdata : {
  137. __tdata_start = .;
  138. *(.tdata)
  139. *(.tdata.*)
  140. *(.gnu.linkonce.td.*)
  141. __tdata_end = .;
  142. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  143. .tbss : {
  144. __tbss_start = .;
  145. *(.tbss)
  146. *(.tbss.*)
  147. *(.gnu.linkonce.tb.*)
  148. __tbss_end = .;
  149. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  150. .bss (NOLOAD) : {
  151. . = ALIGN(4);
  152. __bss_start = .;
  153. *(.bss)
  154. *(.bss.*)
  155. *(.gnu.linkonce.b.*)
  156. *(COMMON)
  157. . = ALIGN(4);
  158. __bss_end = .;
  159. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  160. _SDA_BASE_ = __sdata_start + ((__sbss_end - __sdata_start) / 2 );
  161. _SDA2_BASE_ = __sdata2_start + ((__sbss2_end - __sdata2_start) / 2 );
  162. /* Generate Stack and Heap definitions */
  163. .heap (NOLOAD) : {
  164. . = ALIGN(8);
  165. _heap = .;
  166. _heap_start = .;
  167. . += _HEAP_SIZE;
  168. _heap_end = .;
  169. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  170. .stack (NOLOAD) : {
  171. _stack_end = .;
  172. . += _STACK_SIZE;
  173. . = ALIGN(8);
  174. _stack = .;
  175. __stack = _stack;
  176. } > microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem
  177. _end = .;
  178. }