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