aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/os/common/startup/e200/compilers/GCC/ld
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios/os/common/startup/e200/compilers/GCC/ld')
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B50.ld27
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B60.ld27
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B64.ld27
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560D40.ld27
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560P50.ld27
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC563M64.ld26
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A70.ld26
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A80.ld26
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EC74.ld27
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL54_LSM.ld26
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL60_LSM.ld26
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL70_LSM.ld26
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z0.ld159
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z3.ld156
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z4.ld156
15 files changed, 789 insertions, 0 deletions
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B50.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B50.ld
new file mode 100644
index 000000000..d56de0e1e
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B50.ld
@@ -0,0 +1,27 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC560B50 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 512k
23 dataflash : org = 0x00800000, len = 64k
24 ram : org = 0x40000000, len = 32k
25}
26
27INCLUDE rules_z0.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B60.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B60.ld
new file mode 100644
index 000000000..240b0380d
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B60.ld
@@ -0,0 +1,27 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC560B60 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 1024k
23 dataflash : org = 0x00800000, len = 64k
24 ram : org = 0x40000000, len = 80k
25}
26
27INCLUDE rules_z0.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B64.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B64.ld
new file mode 100644
index 000000000..4ad2457a5
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B64.ld
@@ -0,0 +1,27 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC560B64 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 1536k
23 dataflash : org = 0x00800000, len = 64k
24 ram : org = 0x40000000, len = 96k
25}
26
27INCLUDE rules_z0.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560D40.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560D40.ld
new file mode 100644
index 000000000..9a9191162
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560D40.ld
@@ -0,0 +1,27 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC560D40 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 256k
23 dataflash : org = 0x00800000, len = 64k
24 ram : org = 0x40000000, len = 16k
25}
26
27INCLUDE rules_z0.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560P50.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560P50.ld
new file mode 100644
index 000000000..e863624a6
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560P50.ld
@@ -0,0 +1,27 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC560P50 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 512k
23 dataflash : org = 0x00800000, len = 64k
24 ram : org = 0x40000000, len = 40k
25}
26
27INCLUDE rules_z0.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC563M64.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC563M64.ld
new file mode 100644
index 000000000..4e6832151
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC563M64.ld
@@ -0,0 +1,26 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC563M64 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 1536k
23 ram : org = 0x40000000, len = 94k
24}
25
26INCLUDE rules_z3.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A70.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A70.ld
new file mode 100644
index 000000000..f2aa6d317
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A70.ld
@@ -0,0 +1,26 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC563A70 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 2M
23 ram : org = 0x40000000, len = 128k
24}
25
26INCLUDE rules_z4.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A80.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A80.ld
new file mode 100644
index 000000000..0c52c71cd
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A80.ld
@@ -0,0 +1,26 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC563A80 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 4M
23 ram : org = 0x40000000, len = 192k
24}
25
26INCLUDE rules_z4.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EC74.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EC74.ld
new file mode 100644
index 000000000..12b266313
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EC74.ld
@@ -0,0 +1,27 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC56EC74 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 3M
23 dataflash : org = 0x00800000, len = 64k
24 ram : org = 0x40000000, len = 256k
25}
26
27INCLUDE rules_z4.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL54_LSM.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL54_LSM.ld
new file mode 100644
index 000000000..d92054dd9
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL54_LSM.ld
@@ -0,0 +1,26 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC56EL54 memory setup in LSM mode.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 768k
23 ram : org = 0x40000000, len = 128k
24}
25
26INCLUDE rules_z4.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL60_LSM.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL60_LSM.ld
new file mode 100644
index 000000000..68279e6bb
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL60_LSM.ld
@@ -0,0 +1,26 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC56EL60 memory setup in LSM mode.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 1M
23 ram : org = 0x40000000, len = 128k
24}
25
26INCLUDE rules_z4.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL70_LSM.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL70_LSM.ld
new file mode 100644
index 000000000..845353817
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL70_LSM.ld
@@ -0,0 +1,26 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC56EL70 memory setup in LSM mode.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 2M
23 ram : org = 0x40000000, len = 192k
24}
25
26INCLUDE rules_z4.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z0.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z0.ld
new file mode 100644
index 000000000..b8720997d
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z0.ld
@@ -0,0 +1,159 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17__ram_size__ = LENGTH(ram);
18__ram_start__ = ORIGIN(ram);
19__ram_end__ = ORIGIN(ram) + LENGTH(ram);
20
21ENTRY(_reset_address)
22
23SECTIONS
24{
25 . = ORIGIN(flash);
26 .boot0 : ALIGN(16)
27 {
28 KEEP(*(.boot))
29 } > flash
30
31 .boot1 : ALIGN(16)
32 {
33 KEEP(*(.handlers))
34 KEEP(*(.crt0))
35 /* The vectors table requires a 2kB alignment.*/
36 . = ALIGN(0x800);
37 KEEP(*(.vectors))
38 /* The IVPR register requires a 4kB alignment.*/
39 . = ALIGN(0x1000);
40 __ivpr_base__ = .;
41 KEEP(*(.ivors))
42 } > flash
43
44 constructors : ALIGN(4)
45 {
46 PROVIDE(__init_array_start = .);
47 KEEP(*(SORT(.init_array.*)))
48 KEEP(*(.init_array))
49 PROVIDE(__init_array_end = .);
50 } > flash
51
52 destructors : ALIGN(4)
53 {
54 PROVIDE(__fini_array_start = .);
55 KEEP(*(.fini_array))
56 KEEP(*(SORT(.fini_array.*)))
57 PROVIDE(__fini_array_end = .);
58 } > flash
59
60 .text_vle : ALIGN(16)
61 {
62 *(.text_vle)
63 *(.text_vle.*)
64 *(.gnu.linkonce.t_vle.*)
65 } > flash
66
67 .text : ALIGN(16)
68 {
69 *(.text)
70 *(.text.*)
71 *(.gnu.linkonce.t.*)
72 } > flash
73
74 .rodata : ALIGN(16)
75 {
76 *(.glue_7t)
77 *(.glue_7)
78 *(.gcc*)
79 *(.rodata)
80 *(.rodata.*)
81 *(.rodata1)
82 } > flash
83
84 .sdata2 : ALIGN(16)
85 {
86 __sdata2_start__ = . + 0x8000;
87 *(.sdata2)
88 *(.sdata2.*)
89 *(.gnu.linkonce.s2.*)
90 *(.sbss2)
91 *(.sbss2.*)
92 *(.gnu.linkonce.sb2.*)
93 } > flash
94
95 .eh_frame_hdr :
96 {
97 *(.eh_frame_hdr)
98 } > flash
99
100 .eh_frame : ONLY_IF_RO
101 {
102 *(.eh_frame)
103 } > flash
104
105 .romdata : ALIGN(16)
106 {
107 __romdata_start__ = .;
108 } > flash
109
110 .stacks (NOLOAD) : ALIGN(16)
111 {
112 . = ALIGN(8);
113 __irq_stack_base__ = .;
114 . += __irq_stack_size__;
115 . = ALIGN(8);
116 __irq_stack_end__ = .;
117 __process_stack_base__ = .;
118 __main_thread_stack_base__ = .;
119 . += __process_stack_size__;
120 . = ALIGN(8);
121 __process_stack_end__ = .;
122 __main_thread_stack_end__ = .;
123 } > ram
124
125 .data : AT(__romdata_start__)
126 {
127 . = ALIGN(4);
128 __data_start__ = .;
129 *(.data)
130 *(.data.*)
131 *(.gnu.linkonce.d.*)
132 __sdata_start__ = . + 0x8000;
133 *(.sdata)
134 *(.sdata.*)
135 *(.gnu.linkonce.s.*)
136 __data_end__ = .;
137 } > ram
138
139 .sbss (NOLOAD) :
140 {
141 __bss_start__ = .;
142 *(.sbss)
143 *(.sbss.*)
144 *(.gnu.linkonce.sb.*)
145 *(.scommon)
146 } > ram
147
148 .bss (NOLOAD) :
149 {
150 *(.bss)
151 *(.bss.*)
152 *(.gnu.linkonce.b.*)
153 *(COMMON)
154 __bss_end__ = .;
155 } > ram
156
157 __heap_base__ = __bss_end__;
158 __heap_end__ = __ram_end__;
159}
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z3.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z3.ld
new file mode 100644
index 000000000..9424c63c9
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z3.ld
@@ -0,0 +1,156 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17__ram_size__ = LENGTH(ram);
18__ram_start__ = ORIGIN(ram);
19__ram_end__ = ORIGIN(ram) + LENGTH(ram);
20
21ENTRY(_reset_address)
22
23SECTIONS
24{
25 . = ORIGIN(flash);
26 .boot0 : ALIGN(16)
27 {
28 __ivpr_base__ = .;
29 KEEP(*(.boot))
30 } > flash
31
32 .boot1 : ALIGN(16)
33 {
34 KEEP(*(.handlers))
35 KEEP(*(.crt0))
36 /* The vectors table requires a 2kB alignment.*/
37 . = ALIGN(0x800);
38 KEEP(*(.vectors))
39 } > flash
40
41 constructors : ALIGN(4)
42 {
43 PROVIDE(__init_array_start = .);
44 KEEP(*(SORT(.init_array.*)))
45 KEEP(*(.init_array))
46 PROVIDE(__init_array_end = .);
47 } > flash
48
49 destructors : ALIGN(4)
50 {
51 PROVIDE(__fini_array_start = .);
52 KEEP(*(.fini_array))
53 KEEP(*(SORT(.fini_array.*)))
54 PROVIDE(__fini_array_end = .);
55 } > flash
56
57 .text_vle : ALIGN(16)
58 {
59 *(.text_vle)
60 *(.text_vle.*)
61 *(.gnu.linkonce.t_vle.*)
62 } > flash
63
64 .text : ALIGN(16)
65 {
66 *(.text)
67 *(.text.*)
68 *(.gnu.linkonce.t.*)
69 } > flash
70
71 .rodata : ALIGN(16)
72 {
73 *(.glue_7t)
74 *(.glue_7)
75 *(.gcc*)
76 *(.rodata)
77 *(.rodata.*)
78 *(.rodata1)
79 } > flash
80
81 .sdata2 : ALIGN(16)
82 {
83 __sdata2_start__ = . + 0x8000;
84 *(.sdata2)
85 *(.sdata2.*)
86 *(.gnu.linkonce.s2.*)
87 *(.sbss2)
88 *(.sbss2.*)
89 *(.gnu.linkonce.sb2.*)
90 } > flash
91
92 .eh_frame_hdr :
93 {
94 *(.eh_frame_hdr)
95 } > flash
96
97 .eh_frame : ONLY_IF_RO
98 {
99 *(.eh_frame)
100 } > flash
101
102 .romdata : ALIGN(16)
103 {
104 __romdata_start__ = .;
105 } > flash
106
107 .stacks (NOLOAD) : ALIGN(16)
108 {
109 . = ALIGN(8);
110 __irq_stack_base__ = .;
111 . += __irq_stack_size__;
112 . = ALIGN(8);
113 __irq_stack_end__ = .;
114 __process_stack_base__ = .;
115 __main_thread_stack_base__ = .;
116 . += __process_stack_size__;
117 . = ALIGN(8);
118 __process_stack_end__ = .;
119 __main_thread_stack_end__ = .;
120 } > ram
121
122 .data : AT(__romdata_start__)
123 {
124 . = ALIGN(4);
125 __data_start__ = .;
126 *(.data)
127 *(.data.*)
128 *(.gnu.linkonce.d.*)
129 __sdata_start__ = . + 0x8000;
130 *(.sdata)
131 *(.sdata.*)
132 *(.gnu.linkonce.s.*)
133 __data_end__ = .;
134 } > ram
135
136 .sbss (NOLOAD) :
137 {
138 __bss_start__ = .;
139 *(.sbss)
140 *(.sbss.*)
141 *(.gnu.linkonce.sb.*)
142 *(.scommon)
143 } > ram
144
145 .bss (NOLOAD) :
146 {
147 *(.bss)
148 *(.bss.*)
149 *(.gnu.linkonce.b.*)
150 *(COMMON)
151 __bss_end__ = .;
152 } > ram
153
154 __heap_base__ = __bss_end__;
155 __heap_end__ = __ram_end__;
156}
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z4.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z4.ld
new file mode 100644
index 000000000..9424c63c9
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z4.ld
@@ -0,0 +1,156 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17__ram_size__ = LENGTH(ram);
18__ram_start__ = ORIGIN(ram);
19__ram_end__ = ORIGIN(ram) + LENGTH(ram);
20
21ENTRY(_reset_address)
22
23SECTIONS
24{
25 . = ORIGIN(flash);
26 .boot0 : ALIGN(16)
27 {
28 __ivpr_base__ = .;
29 KEEP(*(.boot))
30 } > flash
31
32 .boot1 : ALIGN(16)
33 {
34 KEEP(*(.handlers))
35 KEEP(*(.crt0))
36 /* The vectors table requires a 2kB alignment.*/
37 . = ALIGN(0x800);
38 KEEP(*(.vectors))
39 } > flash
40
41 constructors : ALIGN(4)
42 {
43 PROVIDE(__init_array_start = .);
44 KEEP(*(SORT(.init_array.*)))
45 KEEP(*(.init_array))
46 PROVIDE(__init_array_end = .);
47 } > flash
48
49 destructors : ALIGN(4)
50 {
51 PROVIDE(__fini_array_start = .);
52 KEEP(*(.fini_array))
53 KEEP(*(SORT(.fini_array.*)))
54 PROVIDE(__fini_array_end = .);
55 } > flash
56
57 .text_vle : ALIGN(16)
58 {
59 *(.text_vle)
60 *(.text_vle.*)
61 *(.gnu.linkonce.t_vle.*)
62 } > flash
63
64 .text : ALIGN(16)
65 {
66 *(.text)
67 *(.text.*)
68 *(.gnu.linkonce.t.*)
69 } > flash
70
71 .rodata : ALIGN(16)
72 {
73 *(.glue_7t)
74 *(.glue_7)
75 *(.gcc*)
76 *(.rodata)
77 *(.rodata.*)
78 *(.rodata1)
79 } > flash
80
81 .sdata2 : ALIGN(16)
82 {
83 __sdata2_start__ = . + 0x8000;
84 *(.sdata2)
85 *(.sdata2.*)
86 *(.gnu.linkonce.s2.*)
87 *(.sbss2)
88 *(.sbss2.*)
89 *(.gnu.linkonce.sb2.*)
90 } > flash
91
92 .eh_frame_hdr :
93 {
94 *(.eh_frame_hdr)
95 } > flash
96
97 .eh_frame : ONLY_IF_RO
98 {
99 *(.eh_frame)
100 } > flash
101
102 .romdata : ALIGN(16)
103 {
104 __romdata_start__ = .;
105 } > flash
106
107 .stacks (NOLOAD) : ALIGN(16)
108 {
109 . = ALIGN(8);
110 __irq_stack_base__ = .;
111 . += __irq_stack_size__;
112 . = ALIGN(8);
113 __irq_stack_end__ = .;
114 __process_stack_base__ = .;
115 __main_thread_stack_base__ = .;
116 . += __process_stack_size__;
117 . = ALIGN(8);
118 __process_stack_end__ = .;
119 __main_thread_stack_end__ = .;
120 } > ram
121
122 .data : AT(__romdata_start__)
123 {
124 . = ALIGN(4);
125 __data_start__ = .;
126 *(.data)
127 *(.data.*)
128 *(.gnu.linkonce.d.*)
129 __sdata_start__ = . + 0x8000;
130 *(.sdata)
131 *(.sdata.*)
132 *(.gnu.linkonce.s.*)
133 __data_end__ = .;
134 } > ram
135
136 .sbss (NOLOAD) :
137 {
138 __bss_start__ = .;
139 *(.sbss)
140 *(.sbss.*)
141 *(.gnu.linkonce.sb.*)
142 *(.scommon)
143 } > ram
144
145 .bss (NOLOAD) :
146 {
147 *(.bss)
148 *(.bss.*)
149 *(.gnu.linkonce.b.*)
150 *(COMMON)
151 __bss_end__ = .;
152 } > ram
153
154 __heap_base__ = __bss_end__;
155 __heap_end__ = __ram_end__;
156}