Mercurial > ecos
annotate packages/hal/cortexm/arch/current/src/cortexm.ld @ 2729:74dbf4c3f2e1 after-copyright-change-20090129
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
| author | jlarmour |
|---|---|
| date | Thu, 29 Jan 2009 17:47:46 +0000 |
| parents | 07fc475e1c28 |
| children | 1a58c9c41c50 |
| rev | line source |
|---|---|
|
2580
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
1 //============================================================================= |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
2 // |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
3 // MLT linker script for Cortex-M |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
4 // |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
5 //============================================================================= |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
6 // ####ECOSGPLCOPYRIGHTBEGIN#### |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
7 // ------------------------------------------- |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
8 // This file is part of eCos, the Embedded Configurable Operating System. |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
9 // Copyright (C) 2008 Free Software Foundation, Inc. |
|
2580
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
10 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
11 // eCos is free software; you can redistribute it and/or modify it under |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
12 // the terms of the GNU General Public License as published by the Free |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
13 // Software Foundation; either version 2 or (at your option) any later |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
14 // version. |
|
2580
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
15 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
16 // eCos is distributed in the hope that it will be useful, but WITHOUT |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
17 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
18 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
19 // for more details. |
|
2580
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
20 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
21 // You should have received a copy of the GNU General Public License |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
22 // along with eCos; if not, write to the Free Software Foundation, Inc., |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
23 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
|
2580
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
24 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
25 // As a special exception, if other files instantiate templates or use |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
26 // macros or inline functions from this file, or you compile this file |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
27 // and link it with other works to produce a work based on this file, |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
28 // this file does not by itself cause the resulting work to be covered by |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
29 // the GNU General Public License. However the source code for this file |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
30 // must still be made available in accordance with section (3) of the GNU |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
31 // General Public License v2. |
|
2580
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
32 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
33 // This exception does not invalidate any other reasons why a work based |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
34 // on this file might be covered by the GNU General Public License. |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
35 // ------------------------------------------- |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
2580
diff
changeset
|
36 // ####ECOSGPLCOPYRIGHTEND#### |
|
2580
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
37 //============================================================================= |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
38 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
39 #include <pkgconf/system.h> |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
40 #include <pkgconf/hal.h> |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
41 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
42 STARTUP(vectors.o) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
43 ENTRY(reset_vector) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
44 INPUT(extras.o) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
45 GROUP(libtarget.a libgcc.a libsupc++.a) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
46 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
47 #if defined(__ARMEB__) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
48 OUTPUT_FORMAT(elf32-bigarm) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
49 #endif |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
50 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
51 // ALIGN_LMA is 4, but the AAPCS now requires that double word types |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
52 // be aligned to 8, which means some input sections can be marked as needing |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
53 // 8-byte alignment, even text ones (consider literal data). |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
54 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
55 #define ALIGN_LMA 4 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
56 #define AAPCS_ALIGN 8 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
57 #define FOLLOWING_ALIGNED(_section_, _align_) AT ((LOADADDR (_section_) + SIZEOF (_section_) + (_align_) - 1) & ~ ((_align_) - 1)) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
58 #define FOLLOWING(_section_) FOLLOWING_ALIGNED(_section_, ALIGN_LMA) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
59 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
60 #define LMA_EQ_VMA |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
61 #define FORCE_OUTPUT . = . |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
62 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
63 // Some versions of gcc define "arm" which causes problems with .note.arm.ident |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
64 #undef arm |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
65 #define SECTIONS_BEGIN \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
66 /* Debug information */ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
67 .debug_aranges 0 : { *(.debug_aranges) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
68 .debug_pubnames 0 : { *(.debug_pubnames) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
69 .debug_info 0 : { *(.debug_info) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
70 .debug_abbrev 0 : { *(.debug_abbrev) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
71 .debug_line 0 : { *(.debug_line) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
72 .debug_frame 0 : { *(.debug_frame) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
73 .debug_str 0 : { *(.debug_str) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
74 .debug_loc 0 : { *(.debug_loc) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
75 .debug_macinfo 0 : { *(.debug_macinfo) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
76 .note.arm.ident 0 : { KEEP (*(.note.arm.ident)) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
77 /DISCARD/ 0 : { *(.fini_array*) } |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
78 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
79 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
80 // Following not used unless CYGHWR_HAL_ARM_SEPARATE_VSR_TABLE |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
81 // defined in hal_platform_setup.h. Otherwise vsr table |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
82 // goes in .fixed_vectors. |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
83 #define SECTION_hal_vsr_table(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
84 .hal_vsr_table _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
85 { FORCE_OUTPUT; KEEP (*(.hal_vsr_table)) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
86 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
87 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
88 #define SECTION_fixed_vectors(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
89 .fixed_vectors _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
90 { FORCE_OUTPUT; KEEP (*(.fixed_vectors)) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
91 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
92 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
93 #define SECTION_rom_vectors(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
94 .rom_vectors _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
95 { __rom_vectors_vma = ABSOLUTE(.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
96 FORCE_OUTPUT; KEEP (*(.vectors)) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
97 > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
98 __rom_vectors_lma = LOADADDR(.rom_vectors); |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
99 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
100 // We slot in the .ARM.extab and .ARM.exidx sections first. They |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
101 // need to be close to .text due to their relocations which may |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
102 // want small offsets - .rodata may be somewhere very different. |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
103 // This approach also allows forward compatibility with targets |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
104 // which haven't used the EABI before (no new SECTION_xxx definition |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
105 // to use). |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
106 // One glitch is that the AAPCS can require up to 8-byte alignment |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
107 // for double word types. For sections after the first (for which we |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
108 // "trust" the MLT files (probably a mistake)), we need to |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
109 // ensure the subsequent sections' VMA and LMA move in sync, which |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
110 // means keeping the same alignment, and thus since for example literal |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
111 // data in .text can require up to 8 byte alignment, the LMA must also |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
112 // be 8 byte aligned. |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
113 #define SECTION_text(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
114 .ARM.extab _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
115 { PROVIDE (__stext = ABSOLUTE(.));_stext = ABSOLUTE(.) ; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
116 FORCE_OUTPUT; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
117 *(.ARM.extab* .gnu.linkonce.armextab.*) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
118 . = ALIGN(AAPCS_ALIGN); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
119 __exidx_start = ABSOLUTE(.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
120 .ARM.exidx ALIGN(AAPCS_ALIGN) : FOLLOWING_ALIGNED(.ARM.extab, AAPCS_ALIGN) { \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
121 *(.ARM.exidx* .gnu.linkonce.armexidx.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
122 FORCE_OUTPUT; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
123 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
124 __exidx_end = ABSOLUTE(.);\ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
125 .text ALIGN(AAPCS_ALIGN) : FOLLOWING_ALIGNED(.ARM.exidx, AAPCS_ALIGN) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
126 { \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
127 *(.text*) *(.gnu.warning) *(.gnu.linkonce.t.*) *(.init) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
128 *(.glue_7) *(.glue_7t) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
129 __CTOR_LIST__ = ABSOLUTE (.); KEEP (*(SORT (.ctors*))) __CTOR_END__ = ABSOLUTE (.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
130 __DTOR_LIST__ = ABSOLUTE (.); KEEP (*(SORT (.dtors*))) __DTOR_END__ = ABSOLUTE (.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
131 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
132 _etext = .; PROVIDE (__etext = .); |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
133 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
134 #define SECTION_fini(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
135 .fini _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
136 { FORCE_OUTPUT; *(.fini) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
137 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
138 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
139 #define SECTION_rodata(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
140 .rodata _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
141 { FORCE_OUTPUT; *(.rodata*) *(.gnu.linkonce.r.*) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
142 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
143 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
144 #define SECTION_rodata1(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
145 .rodata1 _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
146 { FORCE_OUTPUT; *(.rodata1) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
147 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
148 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
149 #define SECTION_fixup(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
150 .fixup _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
151 { FORCE_OUTPUT; *(.fixup) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
152 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
153 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
154 #define SECTION_gcc_except_table(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
155 .gcc_except_table _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
156 { FORCE_OUTPUT; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
157 KEEP(*(.gcc_except_table)) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
158 *(.gcc_except_table.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
159 } > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
160 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
161 #define SECTION_eh_frame(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
162 .eh_frame _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
163 { \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
164 FORCE_OUTPUT; __EH_FRAME_BEGIN__ = .; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
165 KEEP(*(.eh_frame)) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
166 __FRAME_END__ = .; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
167 . = . + 8; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
168 } > _region_ = 0 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
169 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
170 #define SECTION_RELOCS(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
171 .rel.text : \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
172 { \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
173 *(.rel.text) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
174 *(.rel.text.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
175 *(.rel.gnu.linkonce.t*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
176 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
177 .rela.text : \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
178 { \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
179 *(.rela.text) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
180 *(.rela.text.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
181 *(.rela.gnu.linkonce.t*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
182 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
183 .rel.data : \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
184 { \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
185 *(.rel.data) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
186 *(.rel.data.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
187 *(.rel.gnu.linkonce.d*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
188 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
189 .rela.data : \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
190 { \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
191 *(.rela.data) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
192 *(.rela.data.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
193 *(.rela.gnu.linkonce.d*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
194 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
195 .rel.rodata : \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
196 { \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
197 *(.rel.rodata) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
198 *(.rel.rodata.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
199 *(.rel.gnu.linkonce.r*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
200 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
201 .rela.rodata : \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
202 { \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
203 *(.rela.rodata) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
204 *(.rela.rodata.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
205 *(.rela.gnu.linkonce.r*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
206 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
207 .rel.got : { *(.rel.got) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
208 .rela.got : { *(.rela.got) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
209 .rel.ctors : { *(.rel.ctors) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
210 .rela.ctors : { *(.rela.ctors) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
211 .rel.dtors : { *(.rel.dtors) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
212 .rela.dtors : { *(.rela.dtors) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
213 .rel.init : { *(.rel.init) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
214 .rela.init : { *(.rela.init) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
215 .rel.fini : { *(.rel.fini) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
216 .rela.fini : { *(.rela.fini) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
217 .rel.bss : { *(.rel.bss) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
218 .rela.bss : { *(.rela.bss) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
219 .rel.plt : { *(.rel.plt) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
220 .rela.plt : { *(.rela.plt) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
221 .rel.dyn : { *(.rel.dyn) } > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
222 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
223 #define SECTION_got(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
224 .got _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
225 { \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
226 FORCE_OUTPUT; *(.got.plt) *(.got) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
227 _GOT1_START_ = ABSOLUTE (.); *(.got1) _GOT1_END_ = ABSOLUTE (.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
228 _GOT2_START_ = ABSOLUTE (.); *(.got2) _GOT2_END_ = ABSOLUTE (.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
229 } > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
230 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
231 #define SECTION_mmu_tables(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
232 .mmu_tables _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
233 { FORCE_OUTPUT; *(.mmu_tables) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
234 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
235 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
236 #define SECTION_sram(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
237 .sram _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
238 { FORCE_OUTPUT; *(.sram*) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
239 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
240 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
241 #define SECTION_data(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
242 .data _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
243 { __ram_data_start = ABSOLUTE (.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
244 *(.data*) *(.data1) *(.gnu.linkonce.d.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
245 . = ALIGN (4); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
246 KEEP(*( SORT (.ecos.table.*))) ; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
247 . = ALIGN (4); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
248 __init_array_start__ = ABSOLUTE (.); KEEP (*(SORT (.init_array.*))) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
249 KEEP (*(SORT (.init_array))) __init_array_end__ = ABSOLUTE (.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
250 *(.dynamic) *(.sdata*) *(.gnu.linkonce.s.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
251 . = ALIGN (4); *(.2ram.*) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
252 > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
253 __rom_data_start = LOADADDR (.data); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
254 __ram_data_end = .; PROVIDE (__ram_data_end = .); _edata = .; PROVIDE (edata = .); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
255 PROVIDE (__rom_data_end = LOADADDR (.data) + SIZEOF(.data)); |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
256 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
257 #define SECTION_bss(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
258 .bss _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
259 { __bss_start = ABSOLUTE (.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
260 *(.scommon) *(.dynsbss) *(.sbss*) *(.gnu.linkonce.sb.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
261 *(.dynbss) *(.bss*) *(.gnu.linkonce.b.*) *(COMMON) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
262 __bss_end = ABSOLUTE (.); } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
263 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
264 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
265 #define SECTIONS_END . = ALIGN(4); _end = .; PROVIDE (end = .); |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
266 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
267 #include <pkgconf/hal_cortexm.h> |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
268 #include CYGHWR_MEMORY_LAYOUT_LDI |
