]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/PPC440_Xilinx_Virtex5_GCC/RTOSDemo/RTOSDemo_linker_script.ld
commit 9f316c246baafa15c542a5aea81a94f26e3d6507
[freertos] / FreeRTOS / Demo / PPC440_Xilinx_Virtex5_GCC / RTOSDemo / RTOSDemo_linker_script.ld
1 /*******************************************************************/\r
2 /*                                                                 */\r
3 /* This file is automatically generated by linker script generator.*/\r
4 /*                                                                 */\r
5 /* Version: Xilinx EDK 11.1 EDK_L.29.1                                */\r
6 /*                                                                 */\r
7 /* Copyright (c) 2004 Xilinx, Inc.  All rights reserved.           */\r
8 /*                                                                 */\r
9 /* Description : PowerPC440 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 : 0x400;\r
15 \r
16 /* Define Memories in the system */\r
17 \r
18 MEMORY\r
19 {\r
20    DDR2_SDRAM_C_MEM_BASEADDR : ORIGIN = 0x00000000, LENGTH = 0x10000000\r
21    SRAM_C_MEM0_BASEADDR : ORIGIN = 0xF8000000, LENGTH = 0x00100000\r
22    xps_bram_if_cntlr_1 : ORIGIN = 0xFFFFE000, LENGTH = 0x00001F00\r
23 }\r
24 \r
25 /* Specify the default entry point to the program */\r
26 \r
27 ENTRY(_boot)\r
28 STARTUP(boot.o)\r
29 \r
30 /* Define the sections, and where they are mapped in memory */\r
31 \r
32 SECTIONS\r
33 {\r
34 .vectors : {\r
35    __vectors_start = .;\r
36    *(.vectors)\r
37    __vectors_end = .;\r
38 } > SRAM_C_MEM0_BASEADDR\r
39 \r
40 .text : {\r
41    *(.text)\r
42    *(.text.*)\r
43    *(.gnu.linkonce.t.*)\r
44 } > SRAM_C_MEM0_BASEADDR\r
45 \r
46 .init : {\r
47    KEEP (*(.init))\r
48 } > SRAM_C_MEM0_BASEADDR\r
49 \r
50 .fini : {\r
51    KEEP (*(.fini))\r
52 } > SRAM_C_MEM0_BASEADDR\r
53 \r
54 .rodata : {\r
55    __rodata_start = .;\r
56    *(.rodata)\r
57    *(.rodata.*)\r
58    *(.gnu.linkonce.r.*)\r
59    __rodata_end = .;\r
60 } > SRAM_C_MEM0_BASEADDR\r
61 \r
62 .rodata1 : {\r
63    __rodata1_start = .;\r
64    *(.rodata1)\r
65    *(.rodata1.*)\r
66    __rodata1_end = .;\r
67 } > SRAM_C_MEM0_BASEADDR\r
68 \r
69 .sdata2 : {\r
70    __sdata2_start = .;\r
71    *(.sdata2)\r
72    *(.sdata2.*)\r
73    *(.gnu.linkonce.s2.*)\r
74    __sdata2_end = .;\r
75 } > SRAM_C_MEM0_BASEADDR\r
76 \r
77 .sbss2 : {\r
78    __sbss2_start = .;\r
79    *(.sbss2)\r
80    *(.sbss2.*)\r
81    *(.gnu.linkonce.sb2.*)\r
82    __sbss2_end = .;\r
83 } > SRAM_C_MEM0_BASEADDR\r
84 \r
85 .data : {\r
86    __data_start = .;\r
87    *(.data)\r
88    *(.data.*)\r
89    *(.gnu.linkonce.d.*)\r
90    __data_end = .;\r
91 } > SRAM_C_MEM0_BASEADDR\r
92 \r
93 .data1 : {\r
94    __data1_start = .;\r
95    *(.data1)\r
96    *(.data1.*)\r
97    __data1_end = .;\r
98 } > SRAM_C_MEM0_BASEADDR\r
99 \r
100 .got : {\r
101    *(.got)\r
102 } > SRAM_C_MEM0_BASEADDR\r
103 \r
104 .got1 : {\r
105    *(.got1)\r
106 } > SRAM_C_MEM0_BASEADDR\r
107 \r
108 .got2 : {\r
109    *(.got2)\r
110 } > SRAM_C_MEM0_BASEADDR\r
111 \r
112 .ctors : {\r
113    __CTOR_LIST__ = .;\r
114    ___CTORS_LIST___ = .;\r
115    KEEP (*crtbegin.o(.ctors))\r
116    KEEP (*(EXCLUDE_FILE(*crtend.o) .ctors))\r
117    KEEP (*(SORT(.ctors.*)))\r
118    KEEP (*(.ctors))\r
119    __CTOR_END__ = .;\r
120    ___CTORS_END___ = .;\r
121 } > SRAM_C_MEM0_BASEADDR\r
122 \r
123 .dtors : {\r
124    __DTOR_LIST__ = .;\r
125    ___DTORS_LIST___ = .;\r
126    KEEP (*crtbegin.o(.dtors))\r
127    KEEP (*(EXCLUDE_FILE(*crtend.o) .dtors))\r
128    KEEP (*(SORT(.dtors.*)))\r
129    KEEP (*(.dtors))\r
130    __DTOR_END__ = .;\r
131    ___DTORS_END___ = .;\r
132 } > SRAM_C_MEM0_BASEADDR\r
133 \r
134 .fixup : {\r
135    __fixup_start = .;\r
136    *(.fixup)\r
137    __fixup_end = .;\r
138 } > SRAM_C_MEM0_BASEADDR\r
139 \r
140 .eh_frame : {\r
141    *(.eh_frame)\r
142 } > SRAM_C_MEM0_BASEADDR\r
143 \r
144 .jcr : {\r
145    *(.jcr)\r
146 } > SRAM_C_MEM0_BASEADDR\r
147 \r
148 .gcc_except_table : {\r
149    *(.gcc_except_table)\r
150 } > SRAM_C_MEM0_BASEADDR\r
151 \r
152 .sdata : {\r
153    __sdata_start = .;\r
154    *(.sdata)\r
155    *(.sdata.*)\r
156    *(.gnu.linkonce.s.*)\r
157    __sdata_end = .;\r
158 } > SRAM_C_MEM0_BASEADDR\r
159 \r
160 .sbss : {\r
161    __sbss_start = .;\r
162    *(.sbss)\r
163    *(.sbss.*)\r
164    *(.gnu.linkonce.sb.*)\r
165    *(.scommon)\r
166    __sbss_end = .;\r
167 } > SRAM_C_MEM0_BASEADDR\r
168 \r
169 .tdata : {\r
170    __tdata_start = .;\r
171    *(.tdata)\r
172    *(.tdata.*)\r
173    *(.gnu.linkonce.td.*)\r
174    __tdata_end = .;\r
175 } > SRAM_C_MEM0_BASEADDR\r
176 \r
177 .tbss : {\r
178    __tbss_start = .;\r
179    *(.tbss)\r
180    *(.tbss.*)\r
181    *(.gnu.linkonce.tb.*)\r
182    __tbss_end = .;\r
183 } > SRAM_C_MEM0_BASEADDR\r
184 \r
185 .bss : {\r
186    __bss_start = .;\r
187    *(.bss)\r
188    *(.bss.*)\r
189    *(.gnu.linkonce.b.*)\r
190    *(COMMON)\r
191    . = ALIGN(4);\r
192    __bss_end = .;\r
193 } > SRAM_C_MEM0_BASEADDR\r
194 \r
195 .boot0 0xFFFFFF00 : {\r
196    __boot0_start = .;\r
197    *(.boot0)\r
198    __boot0_end = .;\r
199\r
200 \r
201 .boot 0xFFFFFFFC : {\r
202    __boot_start = .;\r
203    *(.boot)\r
204    __boot_end = .;\r
205\r
206 \r
207 /* Generate Stack and Heap Sections */\r
208 \r
209 .stack : {\r
210    _stack_end = .;\r
211    . += _STACK_SIZE;\r
212    . = ALIGN(16);\r
213    __stack = .;\r
214 } > SRAM_C_MEM0_BASEADDR\r
215 \r
216 .heap : {\r
217    . = ALIGN(16);\r
218    _heap_start = .;\r
219    . += _HEAP_SIZE;\r
220    . = ALIGN(16);\r
221    _heap_end = .;\r
222    _end = .;\r
223 } > SRAM_C_MEM0_BASEADDR\r
224 \r
225 }\r
226 \r