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