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