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