]> cvs.zerfleddert.de Git - raggedstone/blame - xps/raggedstone_linker_script.ld
only regenerate cores when needed, and not on every build
[raggedstone] / xps / raggedstone_linker_script.ld
CommitLineData
7fb867f8 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
18MEMORY
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
26ENTRY(_start)
27
28/* Define the sections, and where they are mapped in memory */
29
30SECTIONS
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