source:
rtems/c/src/lib/libbsp/m68k/mcf5206elite/startup/linkcmds
@
e56c3546
Last change on this file since e56c3546 was e56c3546, checked in by Joel Sherrill <joel.sherrill@…>, on 10/26/01 at 19:30:11 | |
---|---|
|
|
File size: 3.3 KB |
Line | |
---|---|
1 | /* |
2 | * This file contains GNU linker directives for an MCF5206eLITE |
3 | * evaluation board. |
4 | * |
5 | * Variations in memory size and allocation can be made by |
6 | * overriding some values with linker command-line arguments. |
7 | * |
8 | * Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia |
9 | * Author: Victor V. Vengerov <vvv@oktet.ru> |
10 | * |
11 | * This file based on work: |
12 | * David Fiddes, D.J.Fiddes@hw.ac.uk |
13 | * http://www.calm.hw.ac.uk/davidf/coldfire/ |
14 | * |
15 | * The license and distribution terms for this file may be |
16 | * found in the file LICENSE in this distribution or at |
17 | * |
18 | * http://www.OARcorp.com/rtems/license.html. |
19 | * |
20 | * $Id$ |
21 | */ |
22 | |
23 | /* |
24 | * Declare some sizes. |
25 | * XXX: The assignment of ". += XyzSize;" fails in older gld's if the |
26 | * number used there is not constant. If this happens to you, edit |
27 | * the lines marked XXX below to use a constant value. |
28 | */ |
29 | /* |
30 | * Declare size of heap. |
31 | * A heap size of 0 means "Use all available memory for the heap". |
32 | * Initial stack located in on-chip SRAM and not declared there. |
33 | */ |
34 | _HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0; |
35 | |
36 | /* |
37 | * Declare system clock frequency. |
38 | */ |
39 | _SYS_CLOCK_FREQUENCY = DEFINED(_SYS_CLOCK_FREQUENCY) ? _SYS_CLOCK_FREQUENCY : 54000000; |
40 | |
41 | /* |
42 | * Setup the memory map of the MCF5206eLITE evaluation board |
43 | * |
44 | * The "rom" section is in USER Flash on the board |
45 | * The "ram" section is placed in USER RAM starting at 10000h |
46 | * |
47 | */ |
48 | MEMORY |
49 | { |
50 | ram : ORIGIN = 0x30000000, LENGTH = 0x00100000 |
51 | rom : ORIGIN = 0xFFE20000, LENGTH = 128k |
52 | } |
53 | |
54 | MBase = 0x10000000; |
55 | |
56 | /* Interrupt Vector table located at start of external static RAM */ |
57 | _VBR = 0x30000000; |
58 | |
59 | SECTIONS |
60 | { |
61 | |
62 | /* |
63 | * Dynamic RAM |
64 | */ |
65 | ram : { |
66 | _RamBase = .; |
67 | __RamBase = .; |
68 | /* Reserve space for interrupt table */ |
69 | . += 0x400; |
70 | } >ram |
71 | |
72 | /* |
73 | * Text, data and bss segments |
74 | */ |
75 | .text : { |
76 | CREATE_OBJECT_SYMBOLS |
77 | *(.text) |
78 | |
79 | /* |
80 | * C++ constructors/destructors |
81 | */ |
82 | *(.gnu.linkonce.t.*) |
83 | |
84 | /* |
85 | * Initialization and finalization code. |
86 | */ |
87 | . = ALIGN (16); |
88 | PROVIDE (_init = .); |
89 | *crti.o(.init) |
90 | *(.init) |
91 | *crtn.o(.init) |
92 | . = ALIGN (16); |
93 | PROVIDE (_fini = .); |
94 | *crti.o(.fini) |
95 | *(.fini) |
96 | *crtn.o(.fini) |
97 | |
98 | /* |
99 | * C++ constructors/destructors |
100 | */ |
101 | . = ALIGN (16); |
102 | *crtbegin.o(.ctors) |
103 | *(.ctors) |
104 | *crtend.o(.ctors) |
105 | *crtbegin.o(.dtors) |
106 | *(.dtors) |
107 | *crtend.o(.dtors) |
108 | |
109 | /* |
110 | * Exception frame info |
111 | */ |
112 | . = ALIGN (16); |
113 | *(.eh_frame) |
114 | |
115 | /* |
116 | * Read-only data |
117 | */ |
118 | . = ALIGN (16); |
119 | _rodata_start = . ; |
120 | *(.rodata) |
121 | *(.gnu.linkonce.r*) |
122 | |
123 | . = ALIGN (16); |
124 | PROVIDE (etext = .); |
125 | |
126 | } > ram |
127 | |
128 | .data BLOCK (0x4) : { |
129 | copy_start = .; |
130 | *(.shdata) |
131 | . = ALIGN (0x10); |
132 | *(.data) |
133 | . = ALIGN (0x10); |
134 | *(.gcc_exc) |
135 | *(.gcc_except_table) |
136 | . = ALIGN (0x10); |
137 | *(.gnu.linkonce.d*) |
138 | . = ALIGN (0x10); |
139 | _edata = .; |
140 | copy_end = .; |
141 | } > ram |
142 | |
143 | .bss BLOCK (0x4) : |
144 | { |
145 | clear_start = . ; |
146 | *(.shbss) |
147 | *(.bss) |
148 | *(COMMON) |
149 | . = ALIGN(0x10); |
150 | _end = .; |
151 | |
152 | clear_end = .; |
153 | |
154 | _WorkspaceBase = .; |
155 | __WorkspaceBase = .; |
156 | |
157 | } > ram |
158 | |
159 | .stab 0 (NOLOAD) : |
160 | { |
161 | *(.stab) |
162 | } |
163 | |
164 | .stabstr 0 (NOLOAD) : |
165 | { |
166 | *(.stabstr) |
167 | } |
168 | |
169 | } |
Note: See TracBrowser
for help on using the repository browser.