lscript.ld 6.1 KB

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