annotate packages/hal/arm/arch/current/src/arm.ld @ 154:e2d866e32dac

Merge from eCos master repository on 2001-02-26-23:18:05-GMT
author jlarmour
date Tue, 27 Feb 2001 01:21:45 +0000
parents 6ed91473a1cd
children 022f1e506033
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
1 //=============================================================================
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
2 //
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
3 // MLT linker script for ARM
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
4 // adapted from packages/hal/arm/pid/v1_1/src/pid.ld
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
5 //
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
6 //=============================================================================
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
7 //####COPYRIGHTBEGIN####
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
8 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
9 // -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
10 // The contents of this file are subject to the Red Hat eCos Public License
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
11 // Version 1.1 (the "License"); you may not use this file except in
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
12 // compliance with the License. You may obtain a copy of the License at
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
13 // http://www.redhat.com/
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
14 //
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
15 // Software distributed under the License is distributed on an "AS IS"
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
16 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
17 // License for the specific language governing rights and limitations under
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
18 // the License.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
19 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
20 // The Original Code is eCos - Embedded Configurable Operating System,
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
21 // released September 30, 1998.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
22 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
23 // The Initial Developer of the Original Code is Red Hat.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
24 // Portions created by Red Hat are
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
25 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
26 // All Rights Reserved.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
27 // -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 60
diff changeset
28 //
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
29 //####COPYRIGHTEND####
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
30 //=============================================================================
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
31
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
32 #include <pkgconf/system.h>
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
33
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
34 STARTUP(vectors.o)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
35 ENTRY(reset_vector)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
36 #ifdef EXTRAS
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
37 INPUT(extras.o)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
38 #endif
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
39 GROUP(libtarget.a libgcc.a)
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
40
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
41 #if defined(__ARMEB__)
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
42 OUTPUT_FORMAT(elf32-bigarm)
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
43 #endif
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
44
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
45 #if defined(CYG_HAL_STARTUP_ROM) \
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
46 && defined(CYGPKG_HAL_ARM_PID) \
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
47 && defined(__ARMEB__)
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
48 // Note: This is only needed when the PID board is used in BE mode without
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
49 // the proper ROM controller part.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
50 //
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
51 // In big-endian mode, merge .RODATA sections into the .DATA section. This
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
52 // causes the data in these sections to be copied to RAM. When the CPU
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
53 // makes byte or halfword access to RAM, A0/A1 are modified correctly.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
54 // This does not happen on ROM access (unless the proper ROM controller
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
55 // is used).
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
56 //
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
57 #define MERGE_IN_RODATA *(.rodata*)
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
58 #define CYGPRI_PID_BE_WORKAROUND
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
59 #else
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
60 // Keep RODATA in separate sections.
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
61 #define MERGE_IN_RODATA
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
62 #undef CYGPRI_PID_BE_WORKAROUND
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
63 #endif
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
64
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
65 #define ALIGN_LMA 4
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
66 #define FOLLOWING(_section_) AT ((LOADADDR (_section_) + SIZEOF (_section_) + ALIGN_LMA - 1) & ~ (ALIGN_LMA - 1))
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
67 #define LMA_EQ_VMA
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
68 #define FORCE_OUTPUT . = .
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
69
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
70 #define SECTIONS_BEGIN \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
71 /* Debug information */ \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
72 .debug_aranges 0 : { *(.debug_aranges) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
73 .debug_pubnames 0 : { *(.debug_pubnames) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
74 .debug_info 0 : { *(.debug_info) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
75 .debug_abbrev 0 : { *(.debug_abbrev) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
76 .debug_line 0 : { *(.debug_line) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
77 .debug_frame 0 : { *(.debug_frame) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
78 .debug_str 0 : { *(.debug_str) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
79 .debug_loc 0 : { *(.debug_loc) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
80 .debug_macinfo 0 : { *(.debug_macinfo) }
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
81
96
b15c60e34c84 Merge from eCos master repository on 2000-06-06-05:24:42-BST
jlarmour
parents: 76
diff changeset
82 #define SECTION_fixed_vectors(_region_, _vma_, _lma_) \
b15c60e34c84 Merge from eCos master repository on 2000-06-06-05:24:42-BST
jlarmour
parents: 76
diff changeset
83 .fixed_vectors _vma_ : _lma_ \
b15c60e34c84 Merge from eCos master repository on 2000-06-06-05:24:42-BST
jlarmour
parents: 76
diff changeset
84 { FORCE_OUTPUT; KEEP (*(.fixed_vectors)) } \
b15c60e34c84 Merge from eCos master repository on 2000-06-06-05:24:42-BST
jlarmour
parents: 76
diff changeset
85 > _region_
b15c60e34c84 Merge from eCos master repository on 2000-06-06-05:24:42-BST
jlarmour
parents: 76
diff changeset
86
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
87 #define SECTION_rom_vectors(_region_, _vma_, _lma_) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
88 .rom_vectors _vma_ : _lma_ \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
89 { FORCE_OUTPUT; KEEP (*(.vectors)) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
90 > _region_
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
91
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
92 #define SECTION_text(_region_, _vma_, _lma_) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
93 .text _vma_ : _lma_ \
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 96
diff changeset
94 { _stext = ABSOLUTE(.); \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
95 PROVIDE (__stext = ABSOLUTE(.)); \
54
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents: 50
diff changeset
96 *(.text*) *(.gnu.warning) *(.gnu.linkonce*) *(.init) \
76
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
97 *(.glue_7) *(.glue_7t) \
54
f10165814f1e Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents: 50
diff changeset
98 } > _region_ \
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 96
diff changeset
99 _etext = .; PROVIDE (__etext = .);
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
100
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
101 #define SECTION_fini(_region_, _vma_, _lma_) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
102 .fini _vma_ : _lma_ \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
103 { FORCE_OUTPUT; *(.fini) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
104 > _region_
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
105
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
106 #if defined(CYGPRI_PID_BE_WORKAROUND)
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
107 #define SECTION_rodata(_region_, _vma_, _lma_)
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
108 #define SECTION_rodata1(_region_, _vma_, _lma_)
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
109 #else
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
110 #define SECTION_rodata(_region_, _vma_, _lma_) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
111 .rodata _vma_ : _lma_ \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
112 { FORCE_OUTPUT; *(.rodata*) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
113 > _region_
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
114
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
115 #define SECTION_rodata1(_region_, _vma_, _lma_) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
116 .rodata1 _vma_ : _lma_ \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
117 { FORCE_OUTPUT; *(.rodata1) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
118 > _region_
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
119 #endif // CYGPRI_PID_BE_WORKAROUND
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
120
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
121 #define SECTION_fixup(_region_, _vma_, _lma_) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
122 .fixup _vma_ : _lma_ \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
123 { FORCE_OUTPUT; *(.fixup) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
124 > _region_
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
125
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
126 #define SECTION_gcc_except_table(_region_, _vma_, _lma_) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
127 .gcc_except_table _vma_ : _lma_ \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
128 { FORCE_OUTPUT; *(.gcc_except_table) } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
129 > _region_
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
130
56
755351606154 Merge from eCos master repository on 1999-12-01-18:03:05-GMT
jlarmour
parents: 54
diff changeset
131 #define SECTION_mmu_tables(_region_, _vma_, _lma_) \
755351606154 Merge from eCos master repository on 1999-12-01-18:03:05-GMT
jlarmour
parents: 54
diff changeset
132 .mmu_tables _vma_ : _lma_ \
755351606154 Merge from eCos master repository on 1999-12-01-18:03:05-GMT
jlarmour
parents: 54
diff changeset
133 { FORCE_OUTPUT; *(.mmu_tables) } \
755351606154 Merge from eCos master repository on 1999-12-01-18:03:05-GMT
jlarmour
parents: 54
diff changeset
134 > _region_
755351606154 Merge from eCos master repository on 1999-12-01-18:03:05-GMT
jlarmour
parents: 54
diff changeset
135
58
6e51d764f8f1 Merge from eCos master repository on 1999-12-10-07:47:04-GMT
jlarmour
parents: 56
diff changeset
136 #define SECTION_sram(_region_, _vma_, _lma_) \
6e51d764f8f1 Merge from eCos master repository on 1999-12-10-07:47:04-GMT
jlarmour
parents: 56
diff changeset
137 .sram _vma_ : _lma_ \
60
3836136e7743 Merge from eCos master repository on 1999-12-17-19:44:58-GMT
jlarmour
parents: 58
diff changeset
138 { FORCE_OUTPUT; *(.sram*) } \
58
6e51d764f8f1 Merge from eCos master repository on 1999-12-10-07:47:04-GMT
jlarmour
parents: 56
diff changeset
139 > _region_
6e51d764f8f1 Merge from eCos master repository on 1999-12-10-07:47:04-GMT
jlarmour
parents: 56
diff changeset
140
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
141 #define SECTION_data(_region_, _vma_, _lma_) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
142 .data _vma_ : _lma_ \
50
a0774359f013 Merge from eCos master repository on 1999-11-02-17:02:15-GMT
jlarmour
parents: 46
diff changeset
143 { __ram_data_start = ABSOLUTE (.); *(.data*) *(.data1) MERGE_IN_RODATA \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
144 _GOT1_START_ = ABSOLUTE (.); *(.got1) _GOT1_END_ = ABSOLUTE (.); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
145 _GOT2_START_ = ABSOLUTE (.); *(.got2) _GOT2_END_ = ABSOLUTE (.); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
146 . = ALIGN (4); \
115
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 96
diff changeset
147 KEEP(*( SORT (.ecos.table.*))) ; \
6ed91473a1cd Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents: 96
diff changeset
148 . = ALIGN (4); \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
149 __CTOR_LIST__ = ABSOLUTE (.); KEEP (*(SORT (.ctors*))) __CTOR_END__ = ABSOLUTE (.); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
150 __DTOR_LIST__ = ABSOLUTE (.); KEEP (*(SORT (.dtors*))) __DTOR_END__ = ABSOLUTE (.); \
154
e2d866e32dac Merge from eCos master repository on 2001-02-26-23:18:05-GMT
jlarmour
parents: 115
diff changeset
151 *(.dynamic) *(.sdata*) *(.sbss*) \
e2d866e32dac Merge from eCos master repository on 2001-02-26-23:18:05-GMT
jlarmour
parents: 115
diff changeset
152 . = ALIGN (4); *(.2ram.*) } \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
153 > _region_ \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
154 __rom_data_start = LOADADDR (.data); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
155 __ram_data_end = .; PROVIDE (__ram_data_end = .); _edata = .; PROVIDE (edata = .); \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
156 PROVIDE (__rom_data_end = LOADADDR (.data) + SIZEOF(.data));
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
157
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
158 #define SECTION_bss(_region_, _vma_, _lma_) \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
159 .bss _vma_ : _lma_ \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
160 { __bss_start = ABSOLUTE (.); \
46
797268ecc331 Merge from eCos master repository on 1999-10-19-18:55:31-BST
jlarmour
parents: 38
diff changeset
161 *(.scommon) *(.dynbss) *(.bss*) *(COMMON) \
2
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
162 __bss_end = ABSOLUTE (.); } \
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
163 > _region_
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
164
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
165 #define SECTIONS_END . = ALIGN(4); _end = .; PROVIDE (end = .);
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
166
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
167 #include <pkgconf/hal_arm.h>
443894e2e912 Block commit of eCos version 1.2.1
jlarmour
parents:
diff changeset
168 #include CYGHWR_MEMORY_LAYOUT_LDI