Mercurial > ecos
annotate packages/hal/cortexm/arch/current/src/cortexm.ld @ 2580:07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
Add STM32 serial driver and on-chip flash driver.
Fix some compile problems with dlmalloc.
See the various ChangeLogs for details.
| author | nickg |
|---|---|
| date | Mon, 03 Nov 2008 14:53:50 +0000 |
| parents | |
| children | 74dbf4c3f2e1 |
| 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 //============================================================================= |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
6 //####ECOSGPLCOPYRIGHTBEGIN#### |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
7 // ------------------------------------------- |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
8 // This file is part of eCos, the Embedded Configurable Operating System. |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
9 // Copyright (C) 2008 eCosCentric Limited. |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
10 // |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
11 // eCos is free software; you can redistribute it and/or modify it under |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
12 // the terms of the GNU General Public License as published by the Free |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
13 // Software Foundation; either version 2 or (at your option) any later version. |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
14 // |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
15 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
16 // WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
17 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
18 // for more details. |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
19 // |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
20 // You should have received a copy of the GNU General Public License along |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
21 // with eCos; if not, write to the Free Software Foundation, Inc., |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
22 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
23 // |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
24 // As a special exception, if other files instantiate templates or use macros |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
25 // or inline functions from this file, or you compile this file and link it |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
26 // with other works to produce a work based on this file, this file does not |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
27 // by itself cause the resulting work to be covered by the GNU General Public |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
28 // License. However the source code for this file must still be made available |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
29 // in accordance with section (3) of the GNU General Public License. |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
30 // |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
31 // This exception does not invalidate any other reasons why a work based on |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
32 // this file might be covered by the GNU General Public License. |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
33 // ------------------------------------------- |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
34 //####ECOSGPLCOPYRIGHTEND#### |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
35 //============================================================================= |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
36 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
37 #include <pkgconf/system.h> |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
38 #include <pkgconf/hal.h> |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
39 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
40 STARTUP(vectors.o) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
41 ENTRY(reset_vector) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
42 INPUT(extras.o) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
43 GROUP(libtarget.a libgcc.a libsupc++.a) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
44 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
45 #if defined(__ARMEB__) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
46 OUTPUT_FORMAT(elf32-bigarm) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
47 #endif |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
48 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
49 // 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
|
50 // 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
|
51 // 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
|
52 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
53 #define ALIGN_LMA 4 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
54 #define AAPCS_ALIGN 8 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
55 #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
|
56 #define FOLLOWING(_section_) FOLLOWING_ALIGNED(_section_, ALIGN_LMA) |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
57 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
58 #define LMA_EQ_VMA |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
59 #define FORCE_OUTPUT . = . |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
60 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
61 // 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
|
62 #undef arm |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
63 #define SECTIONS_BEGIN \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
64 /* Debug information */ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
65 .debug_aranges 0 : { *(.debug_aranges) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
66 .debug_pubnames 0 : { *(.debug_pubnames) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
67 .debug_info 0 : { *(.debug_info) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
68 .debug_abbrev 0 : { *(.debug_abbrev) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
69 .debug_line 0 : { *(.debug_line) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
70 .debug_frame 0 : { *(.debug_frame) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
71 .debug_str 0 : { *(.debug_str) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
72 .debug_loc 0 : { *(.debug_loc) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
73 .debug_macinfo 0 : { *(.debug_macinfo) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
74 .note.arm.ident 0 : { KEEP (*(.note.arm.ident)) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
75 /DISCARD/ 0 : { *(.fini_array*) } |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
76 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
77 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
78 // 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
|
79 // 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
|
80 // goes in .fixed_vectors. |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
81 #define SECTION_hal_vsr_table(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
82 .hal_vsr_table _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
83 { FORCE_OUTPUT; KEEP (*(.hal_vsr_table)) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
84 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
85 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
86 #define SECTION_fixed_vectors(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
87 .fixed_vectors _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
88 { FORCE_OUTPUT; KEEP (*(.fixed_vectors)) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
89 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
90 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
91 #define SECTION_rom_vectors(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
92 .rom_vectors _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
93 { __rom_vectors_vma = ABSOLUTE(.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
94 FORCE_OUTPUT; KEEP (*(.vectors)) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
95 > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
96 __rom_vectors_lma = LOADADDR(.rom_vectors); |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
97 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
98 // 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
|
99 // 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
|
100 // 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
|
101 // This approach also allows forward compatibility with targets |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
102 // 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
|
103 // to use). |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
104 // 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
|
105 // 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
|
106 // "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
|
107 // 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
|
108 // 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
|
109 // 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
|
110 // be 8 byte aligned. |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
111 #define SECTION_text(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
112 .ARM.extab _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
113 { PROVIDE (__stext = ABSOLUTE(.));_stext = ABSOLUTE(.) ; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
114 FORCE_OUTPUT; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
115 *(.ARM.extab* .gnu.linkonce.armextab.*) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
116 . = ALIGN(AAPCS_ALIGN); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
117 __exidx_start = ABSOLUTE(.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
118 .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
|
119 *(.ARM.exidx* .gnu.linkonce.armexidx.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
120 FORCE_OUTPUT; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
121 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
122 __exidx_end = ABSOLUTE(.);\ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
123 .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
|
124 { \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
125 *(.text*) *(.gnu.warning) *(.gnu.linkonce.t.*) *(.init) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
126 *(.glue_7) *(.glue_7t) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
127 __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
|
128 __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
|
129 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
130 _etext = .; PROVIDE (__etext = .); |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
131 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
132 #define SECTION_fini(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
133 .fini _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
134 { FORCE_OUTPUT; *(.fini) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
135 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
136 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
137 #define SECTION_rodata(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
138 .rodata _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
139 { FORCE_OUTPUT; *(.rodata*) *(.gnu.linkonce.r.*) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
140 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
141 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
142 #define SECTION_rodata1(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
143 .rodata1 _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
144 { FORCE_OUTPUT; *(.rodata1) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
145 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
146 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
147 #define SECTION_fixup(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
148 .fixup _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
149 { FORCE_OUTPUT; *(.fixup) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
150 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
151 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
152 #define SECTION_gcc_except_table(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
153 .gcc_except_table _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
154 { FORCE_OUTPUT; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
155 KEEP(*(.gcc_except_table)) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
156 *(.gcc_except_table.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
157 } > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
158 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
159 #define SECTION_eh_frame(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
160 .eh_frame _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
161 { \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
162 FORCE_OUTPUT; __EH_FRAME_BEGIN__ = .; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
163 KEEP(*(.eh_frame)) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
164 __FRAME_END__ = .; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
165 . = . + 8; \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
166 } > _region_ = 0 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
167 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
168 #define SECTION_RELOCS(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
169 .rel.text : \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
170 { \ |
|
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 *(.rel.text.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
173 *(.rel.gnu.linkonce.t*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
174 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
175 .rela.text : \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
176 { \ |
|
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 *(.rela.text.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
179 *(.rela.gnu.linkonce.t*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
180 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
181 .rel.data : \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
182 { \ |
|
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 *(.rel.data.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
185 *(.rel.gnu.linkonce.d*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
186 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
187 .rela.data : \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
188 { \ |
|
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 *(.rela.data.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
191 *(.rela.gnu.linkonce.d*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
192 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
193 .rel.rodata : \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
194 { \ |
|
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 *(.rel.rodata.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
197 *(.rel.gnu.linkonce.r*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
198 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
199 .rela.rodata : \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
200 { \ |
|
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 *(.rela.rodata.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
203 *(.rela.gnu.linkonce.r*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
204 } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
205 .rel.got : { *(.rel.got) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
206 .rela.got : { *(.rela.got) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
207 .rel.ctors : { *(.rel.ctors) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
208 .rela.ctors : { *(.rela.ctors) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
209 .rel.dtors : { *(.rel.dtors) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
210 .rela.dtors : { *(.rela.dtors) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
211 .rel.init : { *(.rel.init) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
212 .rela.init : { *(.rela.init) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
213 .rel.fini : { *(.rel.fini) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
214 .rela.fini : { *(.rela.fini) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
215 .rel.bss : { *(.rel.bss) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
216 .rela.bss : { *(.rela.bss) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
217 .rel.plt : { *(.rel.plt) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
218 .rela.plt : { *(.rela.plt) } > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
219 .rel.dyn : { *(.rel.dyn) } > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
220 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
221 #define SECTION_got(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
222 .got _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
223 { \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
224 FORCE_OUTPUT; *(.got.plt) *(.got) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
225 _GOT1_START_ = ABSOLUTE (.); *(.got1) _GOT1_END_ = ABSOLUTE (.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
226 _GOT2_START_ = ABSOLUTE (.); *(.got2) _GOT2_END_ = ABSOLUTE (.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
227 } > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
228 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
229 #define SECTION_mmu_tables(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
230 .mmu_tables _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
231 { FORCE_OUTPUT; *(.mmu_tables) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
232 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
233 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
234 #define SECTION_sram(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
235 .sram _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
236 { FORCE_OUTPUT; *(.sram*) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
237 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
238 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
239 #define SECTION_data(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
240 .data _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
241 { __ram_data_start = ABSOLUTE (.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
242 *(.data*) *(.data1) *(.gnu.linkonce.d.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
243 . = ALIGN (4); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
244 KEEP(*( SORT (.ecos.table.*))) ; \ |
|
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 __init_array_start__ = ABSOLUTE (.); KEEP (*(SORT (.init_array.*))) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
247 KEEP (*(SORT (.init_array))) __init_array_end__ = ABSOLUTE (.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
248 *(.dynamic) *(.sdata*) *(.gnu.linkonce.s.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
249 . = ALIGN (4); *(.2ram.*) } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
250 > _region_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
251 __rom_data_start = LOADADDR (.data); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
252 __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
|
253 PROVIDE (__rom_data_end = LOADADDR (.data) + SIZEOF(.data)); |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
254 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
255 #define SECTION_bss(_region_, _vma_, _lma_) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
256 .bss _vma_ : _lma_ \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
257 { __bss_start = ABSOLUTE (.); \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
258 *(.scommon) *(.dynsbss) *(.sbss*) *(.gnu.linkonce.sb.*) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
259 *(.dynbss) *(.bss*) *(.gnu.linkonce.b.*) *(COMMON) \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
260 __bss_end = ABSOLUTE (.); } \ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
261 > _region_ |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
262 |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
263 #define SECTIONS_END . = ALIGN(4); _end = .; PROVIDE (end = .); |
|
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 #include <pkgconf/hal_cortexm.h> |
|
07fc475e1c28
Add Cortex-M architecture HAL, STM32 variant and STM3210E platform HALs.
nickg
parents:
diff
changeset
|
266 #include CYGHWR_MEMORY_LAYOUT_LDI |
