aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld')
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F1653.ld93
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F1654.ld93
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F5234x.ld93
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F5235x.ld93
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/LPC11U35_401.ld104
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MIMXRT1062.ld158
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX128.ld101
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX128BLDR3.ld92
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX128BLDR4.ld92
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX256.ld101
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX256BLDR8.ld91
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK64FX512.ld101
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK66FX1M0.ld101
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MKL26Z64.ld101
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MKL27Z256.ld101
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MKL2xZ128.ld101
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/NRF51822.ld84
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/NRF52832.ld84
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/NUC123xD4xx0.ld102
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xC3.ld84
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xD5.ld84
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xE6.ld84
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xH6.ld84
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C129xKC.ld84
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C129xNC.ld84
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/WB32F3G71x9.ld85
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/WB32F3G71xB.ld85
-rw-r--r--lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/WB32F3G71xC.ld85
28 files changed, 2645 insertions, 0 deletions
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F1653.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F1653.ld
new file mode 100644
index 000000000..d4005f3be
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F1653.ld
@@ -0,0 +1,93 @@
1/*
2 * Copyright (C) Yaotian Feng, http://github.com/Codetector1374
3 * [email protected]
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24
25/*
26 * HT32F1654 memory setup
27 */
28
29MEMORY {
30 flash0 : org = 0x00000000, len = 32k
31 flash1 : org = 0x00000000, len = 0
32 flash2 : org = 0x00000000, len = 0
33 flash3 : org = 0x00000000, len = 0
34 flash4 : org = 0x00000000, len = 0
35 flash5 : org = 0x00000000, len = 0
36 flash6 : org = 0x00000000, len = 0
37 flash7 : org = 0x00000000, len = 0
38 ram0 : org = 0x20000000, len = 8k
39 ram1 : org = 0x00000000, len = 0
40 ram2 : org = 0x00000000, len = 0
41 ram3 : org = 0x00000000, len = 0
42 ram4 : org = 0x00000000, len = 0
43 ram5 : org = 0x00000000, len = 0
44 ram6 : org = 0x00000000, len = 0
45 ram7 : org = 0x00000000, len = 0
46}
47
48/* For each data/text section two region are defined, a virtual region
49 and a load region (_LMA suffix).*/
50
51/* Flash region to be used for exception vectors.*/
52REGION_ALIAS("VECTORS_FLASH", flash0);
53REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
54
55/* Flash region to be used for constructors and destructors.*/
56REGION_ALIAS("XTORS_FLASH", flash0);
57REGION_ALIAS("XTORS_FLASH_LMA", flash0);
58
59/* Flash region to be used for code text.*/
60REGION_ALIAS("TEXT_FLASH", flash0);
61REGION_ALIAS("TEXT_FLASH_LMA", flash0);
62
63/* Flash region to be used for read only data.*/
64REGION_ALIAS("RODATA_FLASH", flash0);
65REGION_ALIAS("RODATA_FLASH_LMA", flash0);
66
67/* Flash region to be used for various.*/
68REGION_ALIAS("VARIOUS_FLASH", flash0);
69REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
70
71/* Flash region to be used for RAM(n) initialization data.*/
72REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
73
74/* RAM region to be used for Main stack. This stack accommodates the processing
75 of all exceptions and interrupts.*/
76REGION_ALIAS("MAIN_STACK_RAM", ram0);
77
78/* RAM region to be used for the process stack. This is the stack used by
79 the main() function.*/
80REGION_ALIAS("PROCESS_STACK_RAM", ram0);
81
82/* RAM region to be used for data segment.*/
83REGION_ALIAS("DATA_RAM", ram0);
84REGION_ALIAS("DATA_RAM_LMA", flash0);
85
86/* RAM region to be used for BSS segment.*/
87REGION_ALIAS("BSS_RAM", ram0);
88
89/* RAM region to be used for the default heap.*/
90REGION_ALIAS("HEAP_RAM", ram0);
91
92/* Generic rules inclusion.*/
93INCLUDE rules.ld \ No newline at end of file
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F1654.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F1654.ld
new file mode 100644
index 000000000..ff071b62c
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F1654.ld
@@ -0,0 +1,93 @@
1/*
2 * Copyright (C) Yaotian Feng, http://github.com/Codetector1374
3 * [email protected]
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24
25/*
26 * HT32F1654 memory setup
27 */
28
29MEMORY {
30 flash0 : org = 0x00000000, len = 63k
31 flash1 : org = 0x00000000, len = 0
32 flash2 : org = 0x00000000, len = 0
33 flash3 : org = 0x00000000, len = 0
34 flash4 : org = 0x00000000, len = 0
35 flash5 : org = 0x00000000, len = 0
36 flash6 : org = 0x00000000, len = 0
37 flash7 : org = 0x00000000, len = 0
38 ram0 : org = 0x20000000, len = 16k
39 ram1 : org = 0x00000000, len = 0
40 ram2 : org = 0x00000000, len = 0
41 ram3 : org = 0x00000000, len = 0
42 ram4 : org = 0x00000000, len = 0
43 ram5 : org = 0x00000000, len = 0
44 ram6 : org = 0x00000000, len = 0
45 ram7 : org = 0x00000000, len = 0
46}
47
48/* For each data/text section two region are defined, a virtual region
49 and a load region (_LMA suffix).*/
50
51/* Flash region to be used for exception vectors.*/
52REGION_ALIAS("VECTORS_FLASH", flash0);
53REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
54
55/* Flash region to be used for constructors and destructors.*/
56REGION_ALIAS("XTORS_FLASH", flash0);
57REGION_ALIAS("XTORS_FLASH_LMA", flash0);
58
59/* Flash region to be used for code text.*/
60REGION_ALIAS("TEXT_FLASH", flash0);
61REGION_ALIAS("TEXT_FLASH_LMA", flash0);
62
63/* Flash region to be used for read only data.*/
64REGION_ALIAS("RODATA_FLASH", flash0);
65REGION_ALIAS("RODATA_FLASH_LMA", flash0);
66
67/* Flash region to be used for various.*/
68REGION_ALIAS("VARIOUS_FLASH", flash0);
69REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
70
71/* Flash region to be used for RAM(n) initialization data.*/
72REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
73
74/* RAM region to be used for Main stack. This stack accommodates the processing
75 of all exceptions and interrupts.*/
76REGION_ALIAS("MAIN_STACK_RAM", ram0);
77
78/* RAM region to be used for the process stack. This is the stack used by
79 the main() function.*/
80REGION_ALIAS("PROCESS_STACK_RAM", ram0);
81
82/* RAM region to be used for data segment.*/
83REGION_ALIAS("DATA_RAM", ram0);
84REGION_ALIAS("DATA_RAM_LMA", flash0);
85
86/* RAM region to be used for BSS segment.*/
87REGION_ALIAS("BSS_RAM", ram0);
88
89/* RAM region to be used for the default heap.*/
90REGION_ALIAS("HEAP_RAM", ram0);
91
92/* Generic rules inclusion.*/
93INCLUDE rules.ld \ No newline at end of file
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F5234x.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F5234x.ld
new file mode 100644
index 000000000..574a05ae2
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F5234x.ld
@@ -0,0 +1,93 @@
1/*
2 * Copyright (C) Yaotian Feng, http://github.com/Codetector1374
3 * [email protected]
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24
25/*
26 * HT32F5234x memory setup
27 */
28
29MEMORY {
30 flash0 : org = 0x00000000, len = 64k
31 flash1 : org = 0x00000000, len = 0
32 flash2 : org = 0x00000000, len = 0
33 flash3 : org = 0x00000000, len = 0
34 flash4 : org = 0x00000000, len = 0
35 flash5 : org = 0x00000000, len = 0
36 flash6 : org = 0x00000000, len = 0
37 flash7 : org = 0x00000000, len = 0
38 ram0 : org = 0x20000000, len = 8k
39 ram1 : org = 0x00000000, len = 0
40 ram2 : org = 0x00000000, len = 0
41 ram3 : org = 0x00000000, len = 0
42 ram4 : org = 0x00000000, len = 0
43 ram5 : org = 0x00000000, len = 0
44 ram6 : org = 0x00000000, len = 0
45 ram7 : org = 0x00000000, len = 0
46}
47
48/* For each data/text section two region are defined, a virtual region
49 and a load region (_LMA suffix).*/
50
51/* Flash region to be used for exception vectors.*/
52REGION_ALIAS("VECTORS_FLASH", flash0);
53REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
54
55/* Flash region to be used for constructors and destructors.*/
56REGION_ALIAS("XTORS_FLASH", flash0);
57REGION_ALIAS("XTORS_FLASH_LMA", flash0);
58
59/* Flash region to be used for code text.*/
60REGION_ALIAS("TEXT_FLASH", flash0);
61REGION_ALIAS("TEXT_FLASH_LMA", flash0);
62
63/* Flash region to be used for read only data.*/
64REGION_ALIAS("RODATA_FLASH", flash0);
65REGION_ALIAS("RODATA_FLASH_LMA", flash0);
66
67/* Flash region to be used for various.*/
68REGION_ALIAS("VARIOUS_FLASH", flash0);
69REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
70
71/* Flash region to be used for RAM(n) initialization data.*/
72REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
73
74/* RAM region to be used for Main stack. This stack accommodates the processing
75 of all exceptions and interrupts.*/
76REGION_ALIAS("MAIN_STACK_RAM", ram0);
77
78/* RAM region to be used for the process stack. This is the stack used by
79 the main() function.*/
80REGION_ALIAS("PROCESS_STACK_RAM", ram0);
81
82/* RAM region to be used for data segment.*/
83REGION_ALIAS("DATA_RAM", ram0);
84REGION_ALIAS("DATA_RAM_LMA", flash0);
85
86/* RAM region to be used for BSS segment.*/
87REGION_ALIAS("BSS_RAM", ram0);
88
89/* RAM region to be used for the default heap.*/
90REGION_ALIAS("HEAP_RAM", ram0);
91
92/* Generic rules inclusion.*/
93INCLUDE rules.ld \ No newline at end of file
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F5235x.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F5235x.ld
new file mode 100644
index 000000000..e21054acb
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/HT32F5235x.ld
@@ -0,0 +1,93 @@
1/*
2 * Copyright (C) Yaotian Feng, http://github.com/Codetector1374
3 * [email protected]
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24
25/*
26 * HT32F5235x memory setup
27 */
28
29MEMORY {
30 flash0 : org = 0x00000000, len = 128k
31 flash1 : org = 0x00000000, len = 0
32 flash2 : org = 0x00000000, len = 0
33 flash3 : org = 0x00000000, len = 0
34 flash4 : org = 0x00000000, len = 0
35 flash5 : org = 0x00000000, len = 0
36 flash6 : org = 0x00000000, len = 0
37 flash7 : org = 0x00000000, len = 0
38 ram0 : org = 0x20000000, len = 16k
39 ram1 : org = 0x00000000, len = 0
40 ram2 : org = 0x00000000, len = 0
41 ram3 : org = 0x00000000, len = 0
42 ram4 : org = 0x00000000, len = 0
43 ram5 : org = 0x00000000, len = 0
44 ram6 : org = 0x00000000, len = 0
45 ram7 : org = 0x00000000, len = 0
46}
47
48/* For each data/text section two region are defined, a virtual region
49 and a load region (_LMA suffix).*/
50
51/* Flash region to be used for exception vectors.*/
52REGION_ALIAS("VECTORS_FLASH", flash0);
53REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
54
55/* Flash region to be used for constructors and destructors.*/
56REGION_ALIAS("XTORS_FLASH", flash0);
57REGION_ALIAS("XTORS_FLASH_LMA", flash0);
58
59/* Flash region to be used for code text.*/
60REGION_ALIAS("TEXT_FLASH", flash0);
61REGION_ALIAS("TEXT_FLASH_LMA", flash0);
62
63/* Flash region to be used for read only data.*/
64REGION_ALIAS("RODATA_FLASH", flash0);
65REGION_ALIAS("RODATA_FLASH_LMA", flash0);
66
67/* Flash region to be used for various.*/
68REGION_ALIAS("VARIOUS_FLASH", flash0);
69REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
70
71/* Flash region to be used for RAM(n) initialization data.*/
72REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
73
74/* RAM region to be used for Main stack. This stack accommodates the processing
75 of all exceptions and interrupts.*/
76REGION_ALIAS("MAIN_STACK_RAM", ram0);
77
78/* RAM region to be used for the process stack. This is the stack used by
79 the main() function.*/
80REGION_ALIAS("PROCESS_STACK_RAM", ram0);
81
82/* RAM region to be used for data segment.*/
83REGION_ALIAS("DATA_RAM", ram0);
84REGION_ALIAS("DATA_RAM_LMA", flash0);
85
86/* RAM region to be used for BSS segment.*/
87REGION_ALIAS("BSS_RAM", ram0);
88
89/* RAM region to be used for the default heap.*/
90REGION_ALIAS("HEAP_RAM", ram0);
91
92/* Generic rules inclusion.*/
93INCLUDE rules.ld \ No newline at end of file
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/LPC11U35_401.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/LPC11U35_401.ld
new file mode 100644
index 000000000..8e3a2b3f7
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/LPC11U35_401.ld
@@ -0,0 +1,104 @@
1/*
2 * Copyright (C) 2020 Yaotian Feng / Codetector
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining
5 * a copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 * SOFTWARE.
21 */
22
23
24/*
25 * LPC11U35_401 memory setup
26 */
27
28
29
30MEMORY {
31 flash0 : org = 0x00000000, len = 64k
32 flash1 : org = 0x00000000, len = 0
33 flash2 : org = 0x00000000, len = 0
34 flash3 : org = 0x00000000, len = 0
35 flash4 : org = 0x00000000, len = 0
36 flash5 : org = 0x00000000, len = 0
37 flash6 : org = 0x00000000, len = 0
38 flash7 : org = 0x00000000, len = 0
39 ram0 : org = 0x10000200, len = 7680
40 ram1 : org = 0x00000000, len = 0
41 ram2 : org = 0x00000000, len = 0
42 ram3 : org = 0x00000000, len = 0
43 ram4 : org = 0x00000000, len = 0
44 ram5 : org = 0x00000000, len = 0
45 ram6 : org = 0x00000000, len = 0
46 ram7 : org = 0x00000000, len = 0
47}
48
49/* For each data/text section two region are defined, a virtual region
50 and a load region (_LMA suffix).*/
51
52/* Flash region to be used for exception vectors.*/
53REGION_ALIAS("VECTORS_FLASH", flash0);
54REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
55
56/* Flash region to be used for constructors and destructors.*/
57REGION_ALIAS("XTORS_FLASH", flash0);
58REGION_ALIAS("XTORS_FLASH_LMA", flash0);
59
60/* Flash region to be used for code text.*/
61REGION_ALIAS("TEXT_FLASH", flash0);
62REGION_ALIAS("TEXT_FLASH_LMA", flash0);
63
64/* Flash region to be used for read only data.*/
65REGION_ALIAS("RODATA_FLASH", flash0);
66REGION_ALIAS("RODATA_FLASH_LMA", flash0);
67
68/* Flash region to be used for various.*/
69REGION_ALIAS("VARIOUS_FLASH", flash0);
70REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
71
72/* Flash region to be used for RAM(n) initialization data.*/
73REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
74
75/* RAM region to be used for Main stack. This stack accommodates the processing
76 of all exceptions and interrupts.*/
77REGION_ALIAS("MAIN_STACK_RAM", ram0);
78
79/* RAM region to be used for the process stack. This is the stack used by
80 the main() function.*/
81REGION_ALIAS("PROCESS_STACK_RAM", ram0);
82
83/* RAM region to be used for data segment.*/
84REGION_ALIAS("DATA_RAM", ram0);
85REGION_ALIAS("DATA_RAM_LMA", flash0);
86
87/* RAM region to be used for BSS segment.*/
88REGION_ALIAS("BSS_RAM", ram0);
89
90/* RAM region to be used for the default heap.*/
91REGION_ALIAS("HEAP_RAM", ram0);
92
93Vector1C = (0 -
94 ((__main_stack_end__) +
95 (Reset_Handler + 1) +
96 (NMI_Handler + 1) +
97 (HardFault_Handler + 1) +
98 (MemManage_Handler + 1) +
99 (BusFault_Handler + 1) +
100 (UsageFault_Handler + 1))
101 );
102
103/* Generic rules inclusion.*/
104INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MIMXRT1062.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MIMXRT1062.ld
new file mode 100644
index 000000000..0ae1a5ee9
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MIMXRT1062.ld
@@ -0,0 +1,158 @@
1/*
2 * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com
3 * (C) 2016 flabbergast <[email protected]>
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24/*
25 * MIMXRT1062 memory setup.
26 */
27MEMORY
28{
29 /*
30 * The top 64K of flash are unavailable:
31 *
32 * 60K are reserved for EEPROM emulation,
33 * 4K are special read-only memory containing a known-good blink program
34 *
35 * See also https://www.pjrc.com/store/teensy40.html#memory_layout
36 */
37 flash0 : org = 0x60000000, len = 1984K /* FLASH */
38 flash1 : org = 0x00000000, len = 0
39 flash2 : org = 0x00000000, len = 0
40 flash3 : org = 0x00000000, len = 0
41 flash4 : org = 0x00000000, len = 0
42 flash5 : org = 0x00000000, len = 0
43 flash6 : org = 0x00000000, len = 0
44 flash7 : org = 0x00000000, len = 0
45
46 /* NOTE: ram0, ram1 and ram2 can be configured to use various
47 * percentages of the available 512K of FlexRAM.
48 *
49 * The teensy linker script defines each with a 512k size.
50 *
51 * That is not safe to do with ChibiOS, where the full size
52 * of an individual entry (e.g. 512K for ram1) will be used
53 * in full, e.g. for the heap.
54 *
55 * We get around this limitation by allocating all 512K of
56 * FlexRAM as DTCM (ram1), and not using ram0 and ram2 at all.
57 *
58 * See also:
59 * IMXRT1060RM: Page 36 Table 3-1 System memory map (CM7)
60 */
61
62 /* Our startup code configures all of the flexram as DTCM. */
63 /* ram0: DTCM, general purpose only
64 2000_0000, up to 512KB */
65 ram0 : org = 0x20000000, len = 512k
66
67 /* Our startup code does not configure any ram1. */
68 /* Possible optimization: copy .text code into ram0 */
69 /* ram1: ITCM, can be TCM or general purpose
70 0000_0000, up to 512KB */
71 /* ram1 : org = 0x00000000, len = 512k */
72 ram1 : org = 0x00000000, len = 0
73
74 /* Our startup code does not configure any ram2. */
75 /* ram2: OCRAM (On-Chip RAM), general purpose but not TCM (slower)
76 2020_0000 Size: 512KB OCRAM2 */
77 /* ram2 : org = 0x20200000, len = 512k */
78 ram2 : org = 0x00000000, len = 0
79
80 ram3 : org = 0x00000000, len = 0
81 ram4 : org = 0x00000000, len = 0
82 ram5 : org = 0x00000000, len = 0
83 ram6 : org = 0x00000000, len = 0
84 ram7 : org = 0x00000000, len = 0
85}
86
87/* Flash region for the configuration bytes.*/
88SECTIONS
89{
90 .text.progmem : ALIGN(4)
91 {
92 . = 0;
93 KEEP(*(.flashconfig))
94 FILL(0xFF)
95 /* IVT offset is 0x1000 from the bootable image as per section 2.5
96 of https://www.nxp.com/docs/en/application-note/AN12107.pdf */
97 . = ORIGIN(flash0) + 0x1000;
98 KEEP(*(.ivt))
99 KEEP(*(.bootdata))
100
101 /* .vectors get placed in rules_code.ld */
102 } > flash0
103
104 .cfmprotect : ALIGN(4) SUBALIGN(4)
105 {
106 KEEP(*(.cfmconfig))
107 } > flash0
108}
109
110/* For each data/text section two region are defined, a virtual region
111 and a load region (_LMA suffix).*/
112
113/* Flash region to be used for exception vectors.*/
114REGION_ALIAS("VECTORS_FLASH", flash0);
115REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
116
117/* Flash region to be used for constructors and destructors.*/
118REGION_ALIAS("XTORS_FLASH", flash0);
119REGION_ALIAS("XTORS_FLASH_LMA", flash0);
120
121/* Flash region to be used for code text.*/
122REGION_ALIAS("TEXT_FLASH", flash0);
123REGION_ALIAS("TEXT_FLASH_LMA", flash0);
124
125/* Flash region to be used for read only data.*/
126REGION_ALIAS("RODATA_FLASH", flash0);
127REGION_ALIAS("RODATA_FLASH_LMA", flash0);
128
129/* Flash region to be used for various.*/
130REGION_ALIAS("VARIOUS_FLASH", flash0);
131REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
132
133/* Flash region to be used for RAM(n) initialization data.*/
134REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
135
136/* RAM region to be used for Main stack. This stack accommodates the processing
137 of all exceptions and interrupts.*/
138REGION_ALIAS("MAIN_STACK_RAM", ram0);
139
140/* RAM region to be used for the process stack. This is the stack used by
141 the main() function.*/
142REGION_ALIAS("PROCESS_STACK_RAM", ram0);
143
144/* RAM region to be used for data segment.*/
145/* .data in teensy-arduino-core/imxrt1062.ld */
146REGION_ALIAS("DATA_RAM", ram0);
147REGION_ALIAS("DATA_RAM_LMA", flash0);
148
149/* RAM region to be used for BSS segment.*/
150/* .bss in imxrt1062.ld */
151REGION_ALIAS("BSS_RAM", ram0);
152
153/* RAM region to be used for the default heap.*/
154/* _heap_start in imxrt1062.ld */
155REGION_ALIAS("HEAP_RAM", ram0);
156
157/* Generic rules inclusion.*/
158INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX128.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX128.ld
new file mode 100644
index 000000000..67ca9d56c
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX128.ld
@@ -0,0 +1,101 @@
1/*
2 * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com
3 * (C) 2016 flabbergast <[email protected]>
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24/*
25 * MK20DX128 memory setup.
26 */
27MEMORY
28{
29 flash0 : org = 0x00000000, len = 0x100
30 flash1 : org = 0x00000400, len = 0x10
31 flash2 : org = 0x00000410, len = 128k - 0x410
32 flash3 : org = 0x00000000, len = 0
33 flash4 : org = 0x00000000, len = 0
34 flash5 : org = 0x00000000, len = 0
35 flash6 : org = 0x00000000, len = 0
36 flash7 : org = 0x00000000, len = 0
37 ram0 : org = 0x1FFFE000, len = 16k
38 ram1 : org = 0x00000000, len = 0
39 ram2 : org = 0x00000000, len = 0
40 ram3 : org = 0x00000000, len = 0
41 ram4 : org = 0x00000000, len = 0
42 ram5 : org = 0x00000000, len = 0
43 ram6 : org = 0x00000000, len = 0
44 ram7 : org = 0x00000000, len = 0
45}
46
47/* Flash region for the configuration bytes.*/
48SECTIONS
49{
50 .cfmprotect : ALIGN(4) SUBALIGN(4)
51 {
52 KEEP(*(.cfmconfig))
53 } > flash1
54}
55
56/* For each data/text section two region are defined, a virtual region
57 and a load region (_LMA suffix).*/
58
59/* Flash region to be used for exception vectors.*/
60REGION_ALIAS("VECTORS_FLASH", flash0);
61REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
62
63/* Flash region to be used for constructors and destructors.*/
64REGION_ALIAS("XTORS_FLASH", flash2);
65REGION_ALIAS("XTORS_FLASH_LMA", flash2);
66
67/* Flash region to be used for code text.*/
68REGION_ALIAS("TEXT_FLASH", flash2);
69REGION_ALIAS("TEXT_FLASH_LMA", flash2);
70
71/* Flash region to be used for read only data.*/
72REGION_ALIAS("RODATA_FLASH", flash2);
73REGION_ALIAS("RODATA_FLASH_LMA", flash2);
74
75/* Flash region to be used for various.*/
76REGION_ALIAS("VARIOUS_FLASH", flash2);
77REGION_ALIAS("VARIOUS_FLASH_LMA", flash2);
78
79/* Flash region to be used for RAM(n) initialization data.*/
80REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2);
81
82/* RAM region to be used for Main stack. This stack accommodates the processing
83 of all exceptions and interrupts.*/
84REGION_ALIAS("MAIN_STACK_RAM", ram0);
85
86/* RAM region to be used for the process stack. This is the stack used by
87 the main() function.*/
88REGION_ALIAS("PROCESS_STACK_RAM", ram0);
89
90/* RAM region to be used for data segment.*/
91REGION_ALIAS("DATA_RAM", ram0);
92REGION_ALIAS("DATA_RAM_LMA", flash2);
93
94/* RAM region to be used for BSS segment.*/
95REGION_ALIAS("BSS_RAM", ram0);
96
97/* RAM region to be used for the default heap.*/
98REGION_ALIAS("HEAP_RAM", ram0);
99
100/* Generic rules inclusion.*/
101INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX128BLDR3.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX128BLDR3.ld
new file mode 100644
index 000000000..cac76a772
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX128BLDR3.ld
@@ -0,0 +1,92 @@
1/*
2 * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com
3 * (C) 2016 flabbergast <[email protected]>
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24/*
25 * MK20DX128 memory setup (3k bootloader section).
26 */
27MEMORY
28{
29 flash0 : org = 0x00000c00, len = 128k - 0xc00
30 flash1 : org = 0x00000000, len = 0
31 flash2 : org = 0x00000000, len = 0
32 flash3 : org = 0x00000000, len = 0
33 flash4 : org = 0x00000000, len = 0
34 flash5 : org = 0x00000000, len = 0
35 flash6 : org = 0x00000000, len = 0
36 flash7 : org = 0x00000000, len = 0
37 ram0 : org = 0x1FFFE000, len = 16k
38 ram1 : org = 0x00000000, len = 0
39 ram2 : org = 0x00000000, len = 0
40 ram3 : org = 0x00000000, len = 0
41 ram4 : org = 0x00000000, len = 0
42 ram5 : org = 0x00000000, len = 0
43 ram6 : org = 0x00000000, len = 0
44 ram7 : org = 0x00000000, len = 0
45}
46
47/* For each data/text section two region are defined, a virtual region
48 and a load region (_LMA suffix).*/
49
50/* Flash region to be used for exception vectors.*/
51REGION_ALIAS("VECTORS_FLASH", flash0);
52REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
53
54/* Flash region to be used for constructors and destructors.*/
55REGION_ALIAS("XTORS_FLASH", flash0);
56REGION_ALIAS("XTORS_FLASH_LMA", flash0);
57
58/* Flash region to be used for code text.*/
59REGION_ALIAS("TEXT_FLASH", flash0);
60REGION_ALIAS("TEXT_FLASH_LMA", flash0);
61
62/* Flash region to be used for read only data.*/
63REGION_ALIAS("RODATA_FLASH", flash0);
64REGION_ALIAS("RODATA_FLASH_LMA", flash0);
65
66/* Flash region to be used for various.*/
67REGION_ALIAS("VARIOUS_FLASH", flash0);
68REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
69
70/* Flash region to be used for RAM(n) initialization data.*/
71REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
72
73/* RAM region to be used for Main stack. This stack accommodates the processing
74 of all exceptions and interrupts.*/
75REGION_ALIAS("MAIN_STACK_RAM", ram0);
76
77/* RAM region to be used for the process stack. This is the stack used by
78 the main() function.*/
79REGION_ALIAS("PROCESS_STACK_RAM", ram0);
80
81/* RAM region to be used for data segment.*/
82REGION_ALIAS("DATA_RAM", ram0);
83REGION_ALIAS("DATA_RAM_LMA", flash0);
84
85/* RAM region to be used for BSS segment.*/
86REGION_ALIAS("BSS_RAM", ram0);
87
88/* RAM region to be used for the default heap.*/
89REGION_ALIAS("HEAP_RAM", ram0);
90
91/* Generic rules inclusion.*/
92INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX128BLDR4.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX128BLDR4.ld
new file mode 100644
index 000000000..b2f9b1a84
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX128BLDR4.ld
@@ -0,0 +1,92 @@
1/*
2 * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com
3 * (C) 2016 flabbergast <[email protected]>
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24/*
25 * MK20DX128 memory setup (4k bootloader section).
26 */
27MEMORY
28{
29 flash0 : org = 0x00001000, len = 128k - 0x1000
30 flash1 : org = 0x00000000, len = 0
31 flash2 : org = 0x00000000, len = 0
32 flash3 : org = 0x00000000, len = 0
33 flash4 : org = 0x00000000, len = 0
34 flash5 : org = 0x00000000, len = 0
35 flash6 : org = 0x00000000, len = 0
36 flash7 : org = 0x00000000, len = 0
37 ram0 : org = 0x1FFFE000, len = 16k
38 ram1 : org = 0x00000000, len = 0
39 ram2 : org = 0x00000000, len = 0
40 ram3 : org = 0x00000000, len = 0
41 ram4 : org = 0x00000000, len = 0
42 ram5 : org = 0x00000000, len = 0
43 ram6 : org = 0x00000000, len = 0
44 ram7 : org = 0x00000000, len = 0
45}
46
47/* For each data/text section two region are defined, a virtual region
48 and a load region (_LMA suffix).*/
49
50/* Flash region to be used for exception vectors.*/
51REGION_ALIAS("VECTORS_FLASH", flash0);
52REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
53
54/* Flash region to be used for constructors and destructors.*/
55REGION_ALIAS("XTORS_FLASH", flash0);
56REGION_ALIAS("XTORS_FLASH_LMA", flash0);
57
58/* Flash region to be used for code text.*/
59REGION_ALIAS("TEXT_FLASH", flash0);
60REGION_ALIAS("TEXT_FLASH_LMA", flash0);
61
62/* Flash region to be used for read only data.*/
63REGION_ALIAS("RODATA_FLASH", flash0);
64REGION_ALIAS("RODATA_FLASH_LMA", flash0);
65
66/* Flash region to be used for various.*/
67REGION_ALIAS("VARIOUS_FLASH", flash0);
68REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
69
70/* Flash region to be used for RAM(n) initialization data.*/
71REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
72
73/* RAM region to be used for Main stack. This stack accommodates the processing
74 of all exceptions and interrupts.*/
75REGION_ALIAS("MAIN_STACK_RAM", ram0);
76
77/* RAM region to be used for the process stack. This is the stack used by
78 the main() function.*/
79REGION_ALIAS("PROCESS_STACK_RAM", ram0);
80
81/* RAM region to be used for data segment.*/
82REGION_ALIAS("DATA_RAM", ram0);
83REGION_ALIAS("DATA_RAM_LMA", flash0);
84
85/* RAM region to be used for BSS segment.*/
86REGION_ALIAS("BSS_RAM", ram0);
87
88/* RAM region to be used for the default heap.*/
89REGION_ALIAS("HEAP_RAM", ram0);
90
91/* Generic rules inclusion.*/
92INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX256.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX256.ld
new file mode 100644
index 000000000..66bc6b81e
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX256.ld
@@ -0,0 +1,101 @@
1/*
2 * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com
3 * (C) 2016 flabbergast <[email protected]>
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24/*
25 * MK20DX256 memory setup.
26 */
27MEMORY
28{
29 flash0 : org = 0x00000000, len = 0x400
30 flash1 : org = 0x00000400, len = 0x10
31 flash2 : org = 0x00000410, len = 256k - 0x410
32 flash3 : org = 0x00000000, len = 0
33 flash4 : org = 0x00000000, len = 0
34 flash5 : org = 0x00000000, len = 0
35 flash6 : org = 0x00000000, len = 0
36 flash7 : org = 0x00000000, len = 0
37 ram0 : org = 0x1FFF8000, len = 64k
38 ram1 : org = 0x00000000, len = 0
39 ram2 : org = 0x00000000, len = 0
40 ram3 : org = 0x00000000, len = 0
41 ram4 : org = 0x00000000, len = 0
42 ram5 : org = 0x00000000, len = 0
43 ram6 : org = 0x00000000, len = 0
44 ram7 : org = 0x00000000, len = 0
45}
46
47/* Flash region for the configuration bytes.*/
48SECTIONS
49{
50 .cfmprotect : ALIGN(4) SUBALIGN(4)
51 {
52 KEEP(*(.cfmconfig))
53 } > flash1
54}
55
56/* For each data/text section two region are defined, a virtual region
57 and a load region (_LMA suffix).*/
58
59/* Flash region to be used for exception vectors.*/
60REGION_ALIAS("VECTORS_FLASH", flash0);
61REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
62
63/* Flash region to be used for constructors and destructors.*/
64REGION_ALIAS("XTORS_FLASH", flash2);
65REGION_ALIAS("XTORS_FLASH_LMA", flash2);
66
67/* Flash region to be used for code text.*/
68REGION_ALIAS("TEXT_FLASH", flash2);
69REGION_ALIAS("TEXT_FLASH_LMA", flash2);
70
71/* Flash region to be used for read only data.*/
72REGION_ALIAS("RODATA_FLASH", flash2);
73REGION_ALIAS("RODATA_FLASH_LMA", flash2);
74
75/* Flash region to be used for various.*/
76REGION_ALIAS("VARIOUS_FLASH", flash2);
77REGION_ALIAS("VARIOUS_FLASH_LMA", flash2);
78
79/* Flash region to be used for RAM(n) initialization data.*/
80REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2);
81
82/* RAM region to be used for Main stack. This stack accommodates the processing
83 of all exceptions and interrupts.*/
84REGION_ALIAS("MAIN_STACK_RAM", ram0);
85
86/* RAM region to be used for the process stack. This is the stack used by
87 the main() function.*/
88REGION_ALIAS("PROCESS_STACK_RAM", ram0);
89
90/* RAM region to be used for data segment.*/
91REGION_ALIAS("DATA_RAM", ram0);
92REGION_ALIAS("DATA_RAM_LMA", flash2);
93
94/* RAM region to be used for BSS segment.*/
95REGION_ALIAS("BSS_RAM", ram0);
96
97/* RAM region to be used for the default heap.*/
98REGION_ALIAS("HEAP_RAM", ram0);
99
100/* Generic rules inclusion.*/
101INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX256BLDR8.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX256BLDR8.ld
new file mode 100644
index 000000000..20c30004d
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK20DX256BLDR8.ld
@@ -0,0 +1,91 @@
1/*
2 * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining
5 * a copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 * SOFTWARE.
21 */
22
23/*
24 * MK20DX256 memory setup (8k bootloader section).
25 */
26MEMORY
27{
28 flash0 : org = 0x00002000, len = 256k - 0x2000
29 flash1 : org = 0x00000000, len = 0
30 flash2 : org = 0x00000000, len = 0
31 flash3 : org = 0x00000000, len = 0
32 flash4 : org = 0x00000000, len = 0
33 flash5 : org = 0x00000000, len = 0
34 flash6 : org = 0x00000000, len = 0
35 flash7 : org = 0x00000000, len = 0
36 ram0 : org = 0x1FFF8000, len = 64k
37 ram1 : org = 0x00000000, len = 0
38 ram2 : org = 0x00000000, len = 0
39 ram3 : org = 0x00000000, len = 0
40 ram4 : org = 0x00000000, len = 0
41 ram5 : org = 0x00000000, len = 0
42 ram6 : org = 0x00000000, len = 0
43 ram7 : org = 0x00000000, len = 0
44}
45
46/* For each data/text section two region are defined, a virtual region
47 and a load region (_LMA suffix).*/
48
49/* Flash region to be used for exception vectors.*/
50REGION_ALIAS("VECTORS_FLASH", flash0);
51REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
52
53/* Flash region to be used for constructors and destructors.*/
54REGION_ALIAS("XTORS_FLASH", flash0);
55REGION_ALIAS("XTORS_FLASH_LMA", flash0);
56
57/* Flash region to be used for code text.*/
58REGION_ALIAS("TEXT_FLASH", flash0);
59REGION_ALIAS("TEXT_FLASH_LMA", flash0);
60
61/* Flash region to be used for read only data.*/
62REGION_ALIAS("RODATA_FLASH", flash0);
63REGION_ALIAS("RODATA_FLASH_LMA", flash0);
64
65/* Flash region to be used for various.*/
66REGION_ALIAS("VARIOUS_FLASH", flash0);
67REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
68
69/* Flash region to be used for RAM(n) initialization data.*/
70REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
71
72/* RAM region to be used for Main stack. This stack accommodates the processing
73 of all exceptions and interrupts.*/
74REGION_ALIAS("MAIN_STACK_RAM", ram0);
75
76/* RAM region to be used for the process stack. This is the stack used by
77 the main() function.*/
78REGION_ALIAS("PROCESS_STACK_RAM", ram0);
79
80/* RAM region to be used for data segment.*/
81REGION_ALIAS("DATA_RAM", ram0);
82REGION_ALIAS("DATA_RAM_LMA", flash0);
83
84/* RAM region to be used for BSS segment.*/
85REGION_ALIAS("BSS_RAM", ram0);
86
87/* RAM region to be used for the default heap.*/
88REGION_ALIAS("HEAP_RAM", ram0);
89
90/* Generic rules inclusion.*/
91INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK64FX512.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK64FX512.ld
new file mode 100644
index 000000000..c7565b49c
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK64FX512.ld
@@ -0,0 +1,101 @@
1/*
2 * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com
3 * (C) 2017 Wim Lewis
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24/*
25 * MK64FX512 memory setup.
26 */
27MEMORY
28{
29 flash0 : org = 0x00000000, len = 0x400
30 flash1 : org = 0x00000400, len = 0x10
31 flash2 : org = 0x00000410, len = 512k - 0x410
32 flash3 : org = 0x10000000, len = 128k /* FlexNVM */
33 flash4 : org = 0x00000000, len = 0
34 flash5 : org = 0x00000000, len = 0
35 flash6 : org = 0x00000000, len = 0
36 flash7 : org = 0x00000000, len = 0
37 ram0 : org = 0x1FFF0000, len = 64k /* SRAM_L (code RAM) */
38 ram1 : org = 0x20000000, len = 192k /* SRAM_U (data RAM) */
39 ram2 : org = 0x14000000, len = 4k /* FlexRAM */
40 ram3 : org = 0x00000000, len = 0
41 ram4 : org = 0x00000000, len = 0
42 ram5 : org = 0x00000000, len = 0
43 ram6 : org = 0x00000000, len = 0
44 ram7 : org = 0x00000000, len = 0
45}
46
47/* Flash region for the configuration bytes.*/
48SECTIONS
49{
50 .cfmprotect : ALIGN(4) SUBALIGN(4)
51 {
52 KEEP(*(.cfmconfig))
53 } > flash1
54}
55
56/* For each data/text section two region are defined, a virtual region
57 and a load region (_LMA suffix).*/
58
59/* Flash region to be used for exception vectors.*/
60REGION_ALIAS("VECTORS_FLASH", flash0);
61REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
62
63/* Flash region to be used for constructors and destructors.*/
64REGION_ALIAS("XTORS_FLASH", flash2);
65REGION_ALIAS("XTORS_FLASH_LMA", flash2);
66
67/* Flash region to be used for code text.*/
68REGION_ALIAS("TEXT_FLASH", flash2);
69REGION_ALIAS("TEXT_FLASH_LMA", flash2);
70
71/* Flash region to be used for read only data.*/
72REGION_ALIAS("RODATA_FLASH", flash2);
73REGION_ALIAS("RODATA_FLASH_LMA", flash2);
74
75/* Flash region to be used for various.*/
76REGION_ALIAS("VARIOUS_FLASH", flash2);
77REGION_ALIAS("VARIOUS_FLASH_LMA", flash2);
78
79/* Flash region to be used for RAM(n) initialization data.*/
80REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2);
81
82/* RAM region to be used for Main stack. This stack accommodates the processing
83 of all exceptions and interrupts.*/
84REGION_ALIAS("MAIN_STACK_RAM", ram1);
85
86/* RAM region to be used for the process stack. This is the stack used by
87 the main() function.*/
88REGION_ALIAS("PROCESS_STACK_RAM", ram1);
89
90/* RAM region to be used for data segment.*/
91REGION_ALIAS("DATA_RAM", ram1);
92REGION_ALIAS("DATA_RAM_LMA", flash2);
93
94/* RAM region to be used for BSS segment.*/
95REGION_ALIAS("BSS_RAM", ram1);
96
97/* RAM region to be used for the default heap.*/
98REGION_ALIAS("HEAP_RAM", ram1);
99
100/* Generic rules inclusion.*/
101INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK66FX1M0.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK66FX1M0.ld
new file mode 100644
index 000000000..e253728e8
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MK66FX1M0.ld
@@ -0,0 +1,101 @@
1/*
2 * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com
3 * (C) 2016 flabbergast <[email protected]>
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24/*
25 * MK66FX1M0 memory setup.
26 */
27MEMORY
28{
29 flash0 : org = 0x00000000, len = 0x400
30 flash1 : org = 0x00000400, len = 0x10
31 flash2 : org = 0x00000410, len = 1024k - 0x410
32 flash3 : org = 0x10000000, len = 128k /* FlexNVM */
33 flash4 : org = 0x00000000, len = 0
34 flash5 : org = 0x00000000, len = 0
35 flash6 : org = 0x00000000, len = 0
36 flash7 : org = 0x00000000, len = 0
37 ram0 : org = 0x1FFF0000, len = 64k /* SRAM_L (code RAM) */
38 ram1 : org = 0x20000000, len = 192k /* SRAM_U (data RAM) */
39 ram2 : org = 0x14000000, len = 4k /* FlexRAM */
40 ram3 : org = 0x00000000, len = 0
41 ram4 : org = 0x00000000, len = 0
42 ram5 : org = 0x00000000, len = 0
43 ram6 : org = 0x00000000, len = 0
44 ram7 : org = 0x00000000, len = 0
45}
46
47/* Flash region for the configuration bytes.*/
48SECTIONS
49{
50 .cfmprotect : ALIGN(4) SUBALIGN(4)
51 {
52 KEEP(*(.cfmconfig))
53 } > flash1
54}
55
56/* For each data/text section two region are defined, a virtual region
57 and a load region (_LMA suffix).*/
58
59/* Flash region to be used for exception vectors.*/
60REGION_ALIAS("VECTORS_FLASH", flash0);
61REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
62
63/* Flash region to be used for constructors and destructors.*/
64REGION_ALIAS("XTORS_FLASH", flash2);
65REGION_ALIAS("XTORS_FLASH_LMA", flash2);
66
67/* Flash region to be used for code text.*/
68REGION_ALIAS("TEXT_FLASH", flash2);
69REGION_ALIAS("TEXT_FLASH_LMA", flash2);
70
71/* Flash region to be used for read only data.*/
72REGION_ALIAS("RODATA_FLASH", flash2);
73REGION_ALIAS("RODATA_FLASH_LMA", flash2);
74
75/* Flash region to be used for various.*/
76REGION_ALIAS("VARIOUS_FLASH", flash2);
77REGION_ALIAS("VARIOUS_FLASH_LMA", flash2);
78
79/* Flash region to be used for RAM(n) initialization data.*/
80REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2);
81
82/* RAM region to be used for Main stack. This stack accommodates the processing
83 of all exceptions and interrupts.*/
84REGION_ALIAS("MAIN_STACK_RAM", ram1);
85
86/* RAM region to be used for the process stack. This is the stack used by
87 the main() function.*/
88REGION_ALIAS("PROCESS_STACK_RAM", ram1);
89
90/* RAM region to be used for data segment.*/
91REGION_ALIAS("DATA_RAM", ram1);
92REGION_ALIAS("DATA_RAM_LMA", flash2);
93
94/* RAM region to be used for BSS segment.*/
95REGION_ALIAS("BSS_RAM", ram1);
96
97/* RAM region to be used for the default heap.*/
98REGION_ALIAS("HEAP_RAM", ram1);
99
100/* Generic rules inclusion.*/
101INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MKL26Z64.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MKL26Z64.ld
new file mode 100644
index 000000000..cfccda1de
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MKL26Z64.ld
@@ -0,0 +1,101 @@
1/*
2 * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com
3 * (C) 2016 flabbergast <[email protected]>
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24/*
25 * KL26Z64 memory setup.
26 */
27MEMORY
28{
29 flash0 : org = 0x00000000, len = 0x100
30 flash1 : org = 0x00000400, len = 0x10
31 flash2 : org = 0x00000410, len = 64k - 0x410
32 flash3 : org = 0x00000000, len = 0
33 flash4 : org = 0x00000000, len = 0
34 flash5 : org = 0x00000000, len = 0
35 flash6 : org = 0x00000000, len = 0
36 flash7 : org = 0x00000000, len = 0
37 ram0 : org = 0x1FFFF800, len = 8k
38 ram1 : org = 0x00000000, len = 0
39 ram2 : org = 0x00000000, len = 0
40 ram3 : org = 0x00000000, len = 0
41 ram4 : org = 0x00000000, len = 0
42 ram5 : org = 0x00000000, len = 0
43 ram6 : org = 0x00000000, len = 0
44 ram7 : org = 0x00000000, len = 0
45}
46
47/* Flash region for the configuration bytes.*/
48SECTIONS
49{
50 .cfmprotect : ALIGN(4) SUBALIGN(4)
51 {
52 KEEP(*(.cfmconfig))
53 } > flash1
54}
55
56/* For each data/text section two region are defined, a virtual region
57 and a load region (_LMA suffix).*/
58
59/* Flash region to be used for exception vectors.*/
60REGION_ALIAS("VECTORS_FLASH", flash0);
61REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
62
63/* Flash region to be used for constructors and destructors.*/
64REGION_ALIAS("XTORS_FLASH", flash2);
65REGION_ALIAS("XTORS_FLASH_LMA", flash2);
66
67/* Flash region to be used for code text.*/
68REGION_ALIAS("TEXT_FLASH", flash2);
69REGION_ALIAS("TEXT_FLASH_LMA", flash2);
70
71/* Flash region to be used for read only data.*/
72REGION_ALIAS("RODATA_FLASH", flash2);
73REGION_ALIAS("RODATA_FLASH_LMA", flash2);
74
75/* Flash region to be used for various.*/
76REGION_ALIAS("VARIOUS_FLASH", flash2);
77REGION_ALIAS("VARIOUS_FLASH_LMA", flash2);
78
79/* Flash region to be used for RAM(n) initialization data.*/
80REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2);
81
82/* RAM region to be used for Main stack. This stack accommodates the processing
83 of all exceptions and interrupts.*/
84REGION_ALIAS("MAIN_STACK_RAM", ram0);
85
86/* RAM region to be used for the process stack. This is the stack used by
87 the main() function.*/
88REGION_ALIAS("PROCESS_STACK_RAM", ram0);
89
90/* RAM region to be used for data segment.*/
91REGION_ALIAS("DATA_RAM", ram0);
92REGION_ALIAS("DATA_RAM_LMA", flash2);
93
94/* RAM region to be used for BSS segment.*/
95REGION_ALIAS("BSS_RAM", ram0);
96
97/* RAM region to be used for the default heap.*/
98REGION_ALIAS("HEAP_RAM", ram0);
99
100/* Generic rules inclusion.*/
101INCLUDE rules.ld \ No newline at end of file
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MKL27Z256.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MKL27Z256.ld
new file mode 100644
index 000000000..52e3c06bc
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MKL27Z256.ld
@@ -0,0 +1,101 @@
1/*
2 * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com
3 * (C) 2016 flabbergast <[email protected]>
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24/*
25 * KL27Z256 memory setup.
26 */
27MEMORY
28{
29 flash0 : org = 0x00000000, len = 0x100
30 flash1 : org = 0x00000400, len = 0x10
31 flash2 : org = 0x00000410, len = 256k - 0x410
32 flash3 : org = 0x00000000, len = 0
33 flash4 : org = 0x00000000, len = 0
34 flash5 : org = 0x00000000, len = 0
35 flash6 : org = 0x00000000, len = 0
36 flash7 : org = 0x00000000, len = 0
37 ram0 : org = 0x1FFFE000, len = 32k
38 ram1 : org = 0x00000000, len = 0
39 ram2 : org = 0x00000000, len = 0
40 ram3 : org = 0x00000000, len = 0
41 ram4 : org = 0x00000000, len = 0
42 ram5 : org = 0x00000000, len = 0
43 ram6 : org = 0x00000000, len = 0
44 ram7 : org = 0x00000000, len = 0
45}
46
47/* Flash region for the configuration bytes.*/
48SECTIONS
49{
50 .cfmprotect : ALIGN(4) SUBALIGN(4)
51 {
52 KEEP(*(.cfmconfig))
53 } > flash1
54}
55
56/* For each data/text section two region are defined, a virtual region
57 and a load region (_LMA suffix).*/
58
59/* Flash region to be used for exception vectors.*/
60REGION_ALIAS("VECTORS_FLASH", flash0);
61REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
62
63/* Flash region to be used for constructors and destructors.*/
64REGION_ALIAS("XTORS_FLASH", flash2);
65REGION_ALIAS("XTORS_FLASH_LMA", flash2);
66
67/* Flash region to be used for code text.*/
68REGION_ALIAS("TEXT_FLASH", flash2);
69REGION_ALIAS("TEXT_FLASH_LMA", flash2);
70
71/* Flash region to be used for read only data.*/
72REGION_ALIAS("RODATA_FLASH", flash2);
73REGION_ALIAS("RODATA_FLASH_LMA", flash2);
74
75/* Flash region to be used for various.*/
76REGION_ALIAS("VARIOUS_FLASH", flash2);
77REGION_ALIAS("VARIOUS_FLASH_LMA", flash2);
78
79/* Flash region to be used for RAM(n) initialization data.*/
80REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2);
81
82/* RAM region to be used for Main stack. This stack accommodates the processing
83 of all exceptions and interrupts.*/
84REGION_ALIAS("MAIN_STACK_RAM", ram0);
85
86/* RAM region to be used for the process stack. This is the stack used by
87 the main() function.*/
88REGION_ALIAS("PROCESS_STACK_RAM", ram0);
89
90/* RAM region to be used for data segment.*/
91REGION_ALIAS("DATA_RAM", ram0);
92REGION_ALIAS("DATA_RAM_LMA", flash2);
93
94/* RAM region to be used for BSS segment.*/
95REGION_ALIAS("BSS_RAM", ram0);
96
97/* RAM region to be used for the default heap.*/
98REGION_ALIAS("HEAP_RAM", ram0);
99
100/* Generic rules inclusion.*/
101INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MKL2xZ128.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MKL2xZ128.ld
new file mode 100644
index 000000000..5c405d034
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/MKL2xZ128.ld
@@ -0,0 +1,101 @@
1/*
2 * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com
3 * (C) 2016 flabbergast <[email protected]>
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
16 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 * SOFTWARE.
22 */
23
24/*
25 * KL2xZ128 memory setup.
26 */
27MEMORY
28{
29 flash0 : org = 0x00000000, len = 0x100
30 flash1 : org = 0x00000400, len = 0x10
31 flash2 : org = 0x00000410, len = 128k - 0x410
32 flash3 : org = 0x00000000, len = 0
33 flash4 : org = 0x00000000, len = 0
34 flash5 : org = 0x00000000, len = 0
35 flash6 : org = 0x00000000, len = 0
36 flash7 : org = 0x00000000, len = 0
37 ram0 : org = 0x1FFFF000, len = 16k
38 ram1 : org = 0x00000000, len = 0
39 ram2 : org = 0x00000000, len = 0
40 ram3 : org = 0x00000000, len = 0
41 ram4 : org = 0x00000000, len = 0
42 ram5 : org = 0x00000000, len = 0
43 ram6 : org = 0x00000000, len = 0
44 ram7 : org = 0x00000000, len = 0
45}
46
47/* Flash region for the configuration bytes.*/
48SECTIONS
49{
50 .cfmprotect : ALIGN(4) SUBALIGN(4)
51 {
52 KEEP(*(.cfmconfig))
53 } > flash1
54}
55
56/* For each data/text section two region are defined, a virtual region
57 and a load region (_LMA suffix).*/
58
59/* Flash region to be used for exception vectors.*/
60REGION_ALIAS("VECTORS_FLASH", flash0);
61REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
62
63/* Flash region to be used for constructors and destructors.*/
64REGION_ALIAS("XTORS_FLASH", flash2);
65REGION_ALIAS("XTORS_FLASH_LMA", flash2);
66
67/* Flash region to be used for code text.*/
68REGION_ALIAS("TEXT_FLASH", flash2);
69REGION_ALIAS("TEXT_FLASH_LMA", flash2);
70
71/* Flash region to be used for read only data.*/
72REGION_ALIAS("RODATA_FLASH", flash2);
73REGION_ALIAS("RODATA_FLASH_LMA", flash2);
74
75/* Flash region to be used for various.*/
76REGION_ALIAS("VARIOUS_FLASH", flash2);
77REGION_ALIAS("VARIOUS_FLASH_LMA", flash2);
78
79/* Flash region to be used for RAM(n) initialization data.*/
80REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2);
81
82/* RAM region to be used for Main stack. This stack accommodates the processing
83 of all exceptions and interrupts.*/
84REGION_ALIAS("MAIN_STACK_RAM", ram0);
85
86/* RAM region to be used for the process stack. This is the stack used by
87 the main() function.*/
88REGION_ALIAS("PROCESS_STACK_RAM", ram0);
89
90/* RAM region to be used for data segment.*/
91REGION_ALIAS("DATA_RAM", ram0);
92REGION_ALIAS("DATA_RAM_LMA", flash2);
93
94/* RAM region to be used for BSS segment.*/
95REGION_ALIAS("BSS_RAM", ram0);
96
97/* RAM region to be used for the default heap.*/
98REGION_ALIAS("HEAP_RAM", ram0);
99
100/* Generic rules inclusion.*/
101INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/NRF51822.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/NRF51822.ld
new file mode 100644
index 000000000..d4db7d43d
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/NRF51822.ld
@@ -0,0 +1,84 @@
1/*
2 Copyright (C) 2015 Fabio Utzig
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 * NRF51822 memory setup.
19 */
20MEMORY
21{
22 flash0 : org = 0x00000000, len = 256k
23 flash1 : org = 0x00000000, len = 0
24 flash2 : org = 0x00000000, len = 0
25 flash3 : org = 0x00000000, len = 0
26 flash4 : org = 0x00000000, len = 0
27 flash5 : org = 0x00000000, len = 0
28 flash6 : org = 0x00000000, len = 0
29 flash7 : org = 0x00000000, len = 0
30 ram0 : org = 0x20000000, len = 32k
31 ram1 : org = 0x00000000, len = 0
32 ram2 : org = 0x00000000, len = 0
33 ram3 : org = 0x00000000, len = 0
34 ram4 : org = 0x00000000, len = 0
35 ram5 : org = 0x00000000, len = 0
36 ram6 : org = 0x00000000, len = 0
37 ram7 : org = 0x00000000, len = 0
38}
39
40/* For each data/text section two region are defined, a virtual region
41 and a load region (_LMA suffix).*/
42
43/* Flash region to be used for exception vectors.*/
44REGION_ALIAS("VECTORS_FLASH", flash0);
45REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
46
47/* Flash region to be used for constructors and destructors.*/
48REGION_ALIAS("XTORS_FLASH", flash0);
49REGION_ALIAS("XTORS_FLASH_LMA", flash0);
50
51/* Flash region to be used for code text.*/
52REGION_ALIAS("TEXT_FLASH", flash0);
53REGION_ALIAS("TEXT_FLASH_LMA", flash0);
54
55/* Flash region to be used for read only data.*/
56REGION_ALIAS("RODATA_FLASH", flash0);
57REGION_ALIAS("RODATA_FLASH_LMA", flash0);
58
59/* Flash region to be used for various.*/
60REGION_ALIAS("VARIOUS_FLASH", flash0);
61REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
62
63/* Flash region to be used for RAM(n) initialization data.*/
64REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
65
66/* RAM region to be used for Main stack. This stack accommodates the processing
67 of all exceptions and interrupts*/
68REGION_ALIAS("MAIN_STACK_RAM", ram0);
69
70/* RAM region to be used for the process stack. This is the stack used by
71 the main() function.*/
72REGION_ALIAS("PROCESS_STACK_RAM", ram0);
73
74/* RAM region to be used for data segment.*/
75REGION_ALIAS("DATA_RAM", ram0);
76REGION_ALIAS("DATA_RAM_LMA", flash0);
77
78/* RAM region to be used for BSS segment.*/
79REGION_ALIAS("BSS_RAM", ram0);
80
81/* RAM region to be used for HEAP segment.*/
82REGION_ALIAS("HEAP_RAM", ram0);
83
84INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/NRF52832.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/NRF52832.ld
new file mode 100644
index 000000000..402995a6f
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/NRF52832.ld
@@ -0,0 +1,84 @@
1/*
2 Copyright (C) 2016 Stephane D'Alu
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 * NRF52832 memory setup.
19 */
20MEMORY
21{
22 flash0 : org = 0x00000000, len = 512k
23 flash1 : org = 0x00000000, len = 0
24 flash2 : org = 0x00000000, len = 0
25 flash3 : org = 0x00000000, len = 0
26 flash4 : org = 0x00000000, len = 0
27 flash5 : org = 0x00000000, len = 0
28 flash6 : org = 0x00000000, len = 0
29 flash7 : org = 0x00000000, len = 0
30 ram0 : org = 0x20000000, len = 64k
31 ram1 : org = 0x00000000, len = 0
32 ram2 : org = 0x00000000, len = 0
33 ram3 : org = 0x00000000, len = 0
34 ram4 : org = 0x00000000, len = 0
35 ram5 : org = 0x00000000, len = 0
36 ram6 : org = 0x00000000, len = 0
37 ram7 : org = 0x00000000, len = 0
38}
39
40/* For each data/text section two region are defined, a virtual region
41 and a load region (_LMA suffix).*/
42
43/* Flash region to be used for exception vectors.*/
44REGION_ALIAS("VECTORS_FLASH", flash0);
45REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
46
47/* Flash region to be used for constructors and destructors.*/
48REGION_ALIAS("XTORS_FLASH", flash0);
49REGION_ALIAS("XTORS_FLASH_LMA", flash0);
50
51/* Flash region to be used for code text.*/
52REGION_ALIAS("TEXT_FLASH", flash0);
53REGION_ALIAS("TEXT_FLASH_LMA", flash0);
54
55/* Flash region to be used for read only data.*/
56REGION_ALIAS("RODATA_FLASH", flash0);
57REGION_ALIAS("RODATA_FLASH_LMA", flash0);
58
59/* Flash region to be used for various.*/
60REGION_ALIAS("VARIOUS_FLASH", flash0);
61REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
62
63/* Flash region to be used for RAM(n) initialization data.*/
64REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
65
66/* RAM region to be used for Main stack. This stack accommodates the processing
67 of all exceptions and interrupts*/
68REGION_ALIAS("MAIN_STACK_RAM", ram0);
69
70/* RAM region to be used for the process stack. This is the stack used by
71 the main() function.*/
72REGION_ALIAS("PROCESS_STACK_RAM", ram0);
73
74/* RAM region to be used for data segment.*/
75REGION_ALIAS("DATA_RAM", ram0);
76REGION_ALIAS("DATA_RAM_LMA", flash0);
77
78/* RAM region to be used for BSS segment.*/
79REGION_ALIAS("BSS_RAM", ram0);
80
81/* RAM region to be used for HEAP segment.*/
82REGION_ALIAS("HEAP_RAM", ram0);
83
84INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/NUC123xD4xx0.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/NUC123xD4xx0.ld
new file mode 100644
index 000000000..9404db5c6
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/NUC123xD4xx0.ld
@@ -0,0 +1,102 @@
1/*
2 Copyright (C) 2020 Alex Lewontin
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 * NUC123xD4xx0 memory setup.
19 * 64k ROM, 20k ram
20 */
21MEMORY
22{
23 flash0 (rx) : org = 0x00000000, len = 0x11000 /* APROM */
24 flash1 (rx) : org = 0x00000000, len = 0 /* Data flash placeholder */
25 flash2 (rx) : org = 0x00100000, len = 0x1000 /* LDROM */
26 flash3 (rx) : org = 0x00300000, len = 4 /* Config0 */
27 flash4 (rx) : org = 0x00300004, len = 4 /* Config1 */
28 flash5 (rx) : org = 0x00000000, len = 0
29 flash6 (rx) : org = 0x00000000, len = 0
30 flash7 (rx) : org = 0x00000000, len = 0
31 ram0 (wx) : org = 0x20000000, len = 0x5000
32 ram1 (wx) : org = 0x00000000, len = 0
33 ram2 (wx) : org = 0x00000000, len = 0
34 ram3 (wx) : org = 0x00000000, len = 0
35 ram4 (wx) : org = 0x00000000, len = 0
36 ram5 (wx) : org = 0x00000000, len = 0
37 ram6 (wx) : org = 0x00000000, len = 0
38 ram7 (wx) : org = 0x00000000, len = 0
39}
40
41REGION_ALIAS("CONFIG0", flash3);
42REGION_ALIAS("CONFIG1", flash4);
43
44SECTIONS
45{
46 .nuc123_config0 : ALIGN(4)
47 {
48 KEEP(*(.nuc123_config0))
49 } > CONFIG0
50
51 .nuc123_config1 : ALIGN(4)
52 {
53 KEEP(*(.nuc123_config1))
54 } > CONFIG1
55}
56
57/* For each data/text section two region are defined, a virtual region
58 and a load region (_LMA suffix).*/
59
60/* Flash region to be used for exception vectors.*/
61REGION_ALIAS("VECTORS_FLASH", flash0);
62REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
63
64/* Flash region to be used for constructors and destructors.*/
65REGION_ALIAS("XTORS_FLASH", flash0);
66REGION_ALIAS("XTORS_FLASH_LMA", flash0);
67
68/* Flash region to be used for code text.*/
69REGION_ALIAS("TEXT_FLASH", flash0);
70REGION_ALIAS("TEXT_FLASH_LMA", flash0);
71
72/* Flash region to be used for read only data.*/
73REGION_ALIAS("RODATA_FLASH", flash0);
74REGION_ALIAS("RODATA_FLASH_LMA", flash0);
75
76/* Flash region to be used for various.*/
77REGION_ALIAS("VARIOUS_FLASH", flash0);
78REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
79
80/* Flash region to be used for RAM(n) initialization data.*/
81REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
82
83/* RAM region to be used for Main stack. This stack accommodates the processing
84 of all exceptions and interrupts.*/
85REGION_ALIAS("MAIN_STACK_RAM", ram0);
86
87/* RAM region to be used for the process stack. This is the stack used by
88 the main() function.*/
89REGION_ALIAS("PROCESS_STACK_RAM", ram0);
90
91/* RAM region to be used for data segment.*/
92REGION_ALIAS("DATA_RAM", ram0);
93REGION_ALIAS("DATA_RAM_LMA", flash0);
94
95/* RAM region to be used for BSS segment.*/
96REGION_ALIAS("BSS_RAM", ram0);
97
98/* RAM region to be used for the default heap.*/
99REGION_ALIAS("HEAP_RAM", ram0);
100
101/* Generic rules inclusion.*/
102INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xC3.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xC3.ld
new file mode 100644
index 000000000..9eeaf0251
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xC3.ld
@@ -0,0 +1,84 @@
1/*
2 Copyright (C) 2014..2017 Marco Veeneman
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 * TM4C123xC3 memory setup.
19 */
20MEMORY
21{
22 flash0 : org = 0x00000000, len = 32k
23 flash1 : org = 0x00000000, len = 0
24 flash2 : org = 0x00000000, len = 0
25 flash3 : org = 0x00000000, len = 0
26 flash4 : org = 0x00000000, len = 0
27 flash5 : org = 0x00000000, len = 0
28 flash6 : org = 0x00000000, len = 0
29 flash7 : org = 0x00000000, len = 0
30 ram0 : org = 0x20000000, len = 12k
31 ram1 : org = 0x00000000, len = 0
32 ram2 : org = 0x00000000, len = 0
33 ram3 : org = 0x00000000, len = 0
34 ram4 : org = 0x00000000, len = 0
35 ram5 : org = 0x00000000, len = 0
36 ram6 : org = 0x00000000, len = 0
37 ram7 : org = 0x00000000, len = 0
38}
39
40/* For each data/text section two region are defined, a virtual region
41 and a load region (_LMA suffix).*/
42
43/* Flash region to be used for exception vectors.*/
44REGION_ALIAS("VECTORS_FLASH", flash0);
45REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
46
47/* Flash region to be used for constructors and destructors.*/
48REGION_ALIAS("XTORS_FLASH", flash0);
49REGION_ALIAS("XTORS_FLASH_LMA", flash0);
50
51/* Flash region to be used for code text.*/
52REGION_ALIAS("TEXT_FLASH", flash0);
53REGION_ALIAS("TEXT_FLASH_LMA", flash0);
54
55/* Flash region to be used for read only data.*/
56REGION_ALIAS("RODATA_FLASH", flash0);
57REGION_ALIAS("RODATA_FLASH_LMA", flash0);
58
59/* Flash region to be used for various.*/
60REGION_ALIAS("VARIOUS_FLASH", flash0);
61REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
62
63/* Flash region to be used for RAM(n) initialization data.*/
64REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
65
66/* RAM region to be used for Main stack. This stack accommodates the processing
67 of all exceptions and interrupts*/
68REGION_ALIAS("MAIN_STACK_RAM", ram0);
69
70/* RAM region to be used for the process stack. This is the stack used by
71 the main() function.*/
72REGION_ALIAS("PROCESS_STACK_RAM", ram0);
73
74/* RAM region to be used for data segment.*/
75REGION_ALIAS("DATA_RAM", ram0);
76REGION_ALIAS("DATA_RAM_LMA", flash0);
77
78/* RAM region to be used for BSS segment.*/
79REGION_ALIAS("BSS_RAM", ram0);
80
81/* RAM region to be used for HEAP segment.*/
82REGION_ALIAS("HEAP_RAM", ram0);
83
84INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xD5.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xD5.ld
new file mode 100644
index 000000000..67d33caee
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xD5.ld
@@ -0,0 +1,84 @@
1/*
2 Copyright (C) 2014..2017 Marco Veeneman
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 * TM4C123xD5 memory setup.
19 */
20MEMORY
21{
22 flash0 : org = 0x00000000, len = 64k
23 flash1 : org = 0x00000000, len = 0
24 flash2 : org = 0x00000000, len = 0
25 flash3 : org = 0x00000000, len = 0
26 flash4 : org = 0x00000000, len = 0
27 flash5 : org = 0x00000000, len = 0
28 flash6 : org = 0x00000000, len = 0
29 flash7 : org = 0x00000000, len = 0
30 ram0 : org = 0x20000000, len = 24k
31 ram1 : org = 0x00000000, len = 0
32 ram2 : org = 0x00000000, len = 0
33 ram3 : org = 0x00000000, len = 0
34 ram4 : org = 0x00000000, len = 0
35 ram5 : org = 0x00000000, len = 0
36 ram6 : org = 0x00000000, len = 0
37 ram7 : org = 0x00000000, len = 0
38}
39
40/* For each data/text section two region are defined, a virtual region
41 and a load region (_LMA suffix).*/
42
43/* Flash region to be used for exception vectors.*/
44REGION_ALIAS("VECTORS_FLASH", flash0);
45REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
46
47/* Flash region to be used for constructors and destructors.*/
48REGION_ALIAS("XTORS_FLASH", flash0);
49REGION_ALIAS("XTORS_FLASH_LMA", flash0);
50
51/* Flash region to be used for code text.*/
52REGION_ALIAS("TEXT_FLASH", flash0);
53REGION_ALIAS("TEXT_FLASH_LMA", flash0);
54
55/* Flash region to be used for read only data.*/
56REGION_ALIAS("RODATA_FLASH", flash0);
57REGION_ALIAS("RODATA_FLASH_LMA", flash0);
58
59/* Flash region to be used for various.*/
60REGION_ALIAS("VARIOUS_FLASH", flash0);
61REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
62
63/* Flash region to be used for RAM(n) initialization data.*/
64REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
65
66/* RAM region to be used for Main stack. This stack accommodates the processing
67 of all exceptions and interrupts*/
68REGION_ALIAS("MAIN_STACK_RAM", ram0);
69
70/* RAM region to be used for the process stack. This is the stack used by
71 the main() function.*/
72REGION_ALIAS("PROCESS_STACK_RAM", ram0);
73
74/* RAM region to be used for data segment.*/
75REGION_ALIAS("DATA_RAM", ram0);
76REGION_ALIAS("DATA_RAM_LMA", flash0);
77
78/* RAM region to be used for BSS segment.*/
79REGION_ALIAS("BSS_RAM", ram0);
80
81/* RAM region to be used for HEAP segment.*/
82REGION_ALIAS("HEAP_RAM", ram0);
83
84INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xE6.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xE6.ld
new file mode 100644
index 000000000..83a3edd95
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xE6.ld
@@ -0,0 +1,84 @@
1/*
2 Copyright (C) 2014..2017 Marco Veeneman
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 * TM4C123xE6 memory setup.
19 */
20MEMORY
21{
22 flash0 : org = 0x00000000, len = 128k
23 flash1 : org = 0x00000000, len = 0
24 flash2 : org = 0x00000000, len = 0
25 flash3 : org = 0x00000000, len = 0
26 flash4 : org = 0x00000000, len = 0
27 flash5 : org = 0x00000000, len = 0
28 flash6 : org = 0x00000000, len = 0
29 flash7 : org = 0x00000000, len = 0
30 ram0 : org = 0x20000000, len = 32k
31 ram1 : org = 0x00000000, len = 0
32 ram2 : org = 0x00000000, len = 0
33 ram3 : org = 0x00000000, len = 0
34 ram4 : org = 0x00000000, len = 0
35 ram5 : org = 0x00000000, len = 0
36 ram6 : org = 0x00000000, len = 0
37 ram7 : org = 0x00000000, len = 0
38}
39
40/* For each data/text section two region are defined, a virtual region
41 and a load region (_LMA suffix).*/
42
43/* Flash region to be used for exception vectors.*/
44REGION_ALIAS("VECTORS_FLASH", flash0);
45REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
46
47/* Flash region to be used for constructors and destructors.*/
48REGION_ALIAS("XTORS_FLASH", flash0);
49REGION_ALIAS("XTORS_FLASH_LMA", flash0);
50
51/* Flash region to be used for code text.*/
52REGION_ALIAS("TEXT_FLASH", flash0);
53REGION_ALIAS("TEXT_FLASH_LMA", flash0);
54
55/* Flash region to be used for read only data.*/
56REGION_ALIAS("RODATA_FLASH", flash0);
57REGION_ALIAS("RODATA_FLASH_LMA", flash0);
58
59/* Flash region to be used for various.*/
60REGION_ALIAS("VARIOUS_FLASH", flash0);
61REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
62
63/* Flash region to be used for RAM(n) initialization data.*/
64REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
65
66/* RAM region to be used for Main stack. This stack accommodates the processing
67 of all exceptions and interrupts*/
68REGION_ALIAS("MAIN_STACK_RAM", ram0);
69
70/* RAM region to be used for the process stack. This is the stack used by
71 the main() function.*/
72REGION_ALIAS("PROCESS_STACK_RAM", ram0);
73
74/* RAM region to be used for data segment.*/
75REGION_ALIAS("DATA_RAM", ram0);
76REGION_ALIAS("DATA_RAM_LMA", flash0);
77
78/* RAM region to be used for BSS segment.*/
79REGION_ALIAS("BSS_RAM", ram0);
80
81/* RAM region to be used for HEAP segment.*/
82REGION_ALIAS("HEAP_RAM", ram0);
83
84INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xH6.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xH6.ld
new file mode 100644
index 000000000..1affc86c5
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C123xH6.ld
@@ -0,0 +1,84 @@
1/*
2 Copyright (C) 2014..2017 Marco Veeneman
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 * TM4C123xH6 memory setup.
19 */
20MEMORY
21{
22 flash0 : org = 0x00000000, len = 256k
23 flash1 : org = 0x00000000, len = 0
24 flash2 : org = 0x00000000, len = 0
25 flash3 : org = 0x00000000, len = 0
26 flash4 : org = 0x00000000, len = 0
27 flash5 : org = 0x00000000, len = 0
28 flash6 : org = 0x00000000, len = 0
29 flash7 : org = 0x00000000, len = 0
30 ram0 : org = 0x20000000, len = 32k
31 ram1 : org = 0x00000000, len = 0
32 ram2 : org = 0x00000000, len = 0
33 ram3 : org = 0x00000000, len = 0
34 ram4 : org = 0x00000000, len = 0
35 ram5 : org = 0x00000000, len = 0
36 ram6 : org = 0x00000000, len = 0
37 ram7 : org = 0x00000000, len = 0
38}
39
40/* For each data/text section two region are defined, a virtual region
41 and a load region (_LMA suffix).*/
42
43/* Flash region to be used for exception vectors.*/
44REGION_ALIAS("VECTORS_FLASH", flash0);
45REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
46
47/* Flash region to be used for constructors and destructors.*/
48REGION_ALIAS("XTORS_FLASH", flash0);
49REGION_ALIAS("XTORS_FLASH_LMA", flash0);
50
51/* Flash region to be used for code text.*/
52REGION_ALIAS("TEXT_FLASH", flash0);
53REGION_ALIAS("TEXT_FLASH_LMA", flash0);
54
55/* Flash region to be used for read only data.*/
56REGION_ALIAS("RODATA_FLASH", flash0);
57REGION_ALIAS("RODATA_FLASH_LMA", flash0);
58
59/* Flash region to be used for various.*/
60REGION_ALIAS("VARIOUS_FLASH", flash0);
61REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
62
63/* Flash region to be used for RAM(n) initialization data.*/
64REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
65
66/* RAM region to be used for Main stack. This stack accommodates the processing
67 of all exceptions and interrupts*/
68REGION_ALIAS("MAIN_STACK_RAM", ram0);
69
70/* RAM region to be used for the process stack. This is the stack used by
71 the main() function.*/
72REGION_ALIAS("PROCESS_STACK_RAM", ram0);
73
74/* RAM region to be used for data segment.*/
75REGION_ALIAS("DATA_RAM", ram0);
76REGION_ALIAS("DATA_RAM_LMA", flash0);
77
78/* RAM region to be used for BSS segment.*/
79REGION_ALIAS("BSS_RAM", ram0);
80
81/* RAM region to be used for HEAP segment.*/
82REGION_ALIAS("HEAP_RAM", ram0);
83
84INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C129xKC.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C129xKC.ld
new file mode 100644
index 000000000..aef12eaf9
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C129xKC.ld
@@ -0,0 +1,84 @@
1/*
2 Copyright (C) 2014..2017 Marco Veeneman
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 * TM4C129xKC memory setup.
19 */
20MEMORY
21{
22 flash0 : org = 0x00000000, len = 512k
23 flash1 : org = 0x00000000, len = 0
24 flash2 : org = 0x00000000, len = 0
25 flash3 : org = 0x00000000, len = 0
26 flash4 : org = 0x00000000, len = 0
27 flash5 : org = 0x00000000, len = 0
28 flash6 : org = 0x00000000, len = 0
29 flash7 : org = 0x00000000, len = 0
30 ram0 : org = 0x20000000, len = 256k
31 ram1 : org = 0x00000000, len = 0
32 ram2 : org = 0x00000000, len = 0
33 ram3 : org = 0x00000000, len = 0
34 ram4 : org = 0x00000000, len = 0
35 ram5 : org = 0x00000000, len = 0
36 ram6 : org = 0x00000000, len = 0
37 ram7 : org = 0x00000000, len = 0
38}
39
40/* For each data/text section two region are defined, a virtual region
41 and a load region (_LMA suffix).*/
42
43/* Flash region to be used for exception vectors.*/
44REGION_ALIAS("VECTORS_FLASH", flash0);
45REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
46
47/* Flash region to be used for constructors and destructors.*/
48REGION_ALIAS("XTORS_FLASH", flash0);
49REGION_ALIAS("XTORS_FLASH_LMA", flash0);
50
51/* Flash region to be used for code text.*/
52REGION_ALIAS("TEXT_FLASH", flash0);
53REGION_ALIAS("TEXT_FLASH_LMA", flash0);
54
55/* Flash region to be used for read only data.*/
56REGION_ALIAS("RODATA_FLASH", flash0);
57REGION_ALIAS("RODATA_FLASH_LMA", flash0);
58
59/* Flash region to be used for various.*/
60REGION_ALIAS("VARIOUS_FLASH", flash0);
61REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
62
63/* Flash region to be used for RAM(n) initialization data.*/
64REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
65
66/* RAM region to be used for Main stack. This stack accommodates the processing
67 of all exceptions and interrupts*/
68REGION_ALIAS("MAIN_STACK_RAM", ram0);
69
70/* RAM region to be used for the process stack. This is the stack used by
71 the main() function.*/
72REGION_ALIAS("PROCESS_STACK_RAM", ram0);
73
74/* RAM region to be used for data segment.*/
75REGION_ALIAS("DATA_RAM", ram0);
76REGION_ALIAS("DATA_RAM_LMA", flash0);
77
78/* RAM region to be used for BSS segment.*/
79REGION_ALIAS("BSS_RAM", ram0);
80
81/* RAM region to be used for HEAP segment.*/
82REGION_ALIAS("HEAP_RAM", ram0);
83
84INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C129xNC.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C129xNC.ld
new file mode 100644
index 000000000..5e7bdb930
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/TM4C129xNC.ld
@@ -0,0 +1,84 @@
1/*
2 Copyright (C) 2014..2017 Marco Veeneman
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 * TM4C123xH6 memory setup.
19 */
20MEMORY
21{
22 flash0 : org = 0x00000000, len = 1m
23 flash1 : org = 0x00000000, len = 0
24 flash2 : org = 0x00000000, len = 0
25 flash3 : org = 0x00000000, len = 0
26 flash4 : org = 0x00000000, len = 0
27 flash5 : org = 0x00000000, len = 0
28 flash6 : org = 0x00000000, len = 0
29 flash7 : org = 0x00000000, len = 0
30 ram0 : org = 0x20000000, len = 256k
31 ram1 : org = 0x00000000, len = 0
32 ram2 : org = 0x00000000, len = 0
33 ram3 : org = 0x00000000, len = 0
34 ram4 : org = 0x00000000, len = 0
35 ram5 : org = 0x00000000, len = 0
36 ram6 : org = 0x00000000, len = 0
37 ram7 : org = 0x00000000, len = 0
38}
39
40/* For each data/text section two region are defined, a virtual region
41 and a load region (_LMA suffix).*/
42
43/* Flash region to be used for exception vectors.*/
44REGION_ALIAS("VECTORS_FLASH", flash0);
45REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
46
47/* Flash region to be used for constructors and destructors.*/
48REGION_ALIAS("XTORS_FLASH", flash0);
49REGION_ALIAS("XTORS_FLASH_LMA", flash0);
50
51/* Flash region to be used for code text.*/
52REGION_ALIAS("TEXT_FLASH", flash0);
53REGION_ALIAS("TEXT_FLASH_LMA", flash0);
54
55/* Flash region to be used for read only data.*/
56REGION_ALIAS("RODATA_FLASH", flash0);
57REGION_ALIAS("RODATA_FLASH_LMA", flash0);
58
59/* Flash region to be used for various.*/
60REGION_ALIAS("VARIOUS_FLASH", flash0);
61REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
62
63/* Flash region to be used for RAM(n) initialization data.*/
64REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
65
66/* RAM region to be used for Main stack. This stack accommodates the processing
67 of all exceptions and interrupts*/
68REGION_ALIAS("MAIN_STACK_RAM", ram0);
69
70/* RAM region to be used for the process stack. This is the stack used by
71 the main() function.*/
72REGION_ALIAS("PROCESS_STACK_RAM", ram0);
73
74/* RAM region to be used for data segment.*/
75REGION_ALIAS("DATA_RAM", ram0);
76REGION_ALIAS("DATA_RAM_LMA", flash0);
77
78/* RAM region to be used for BSS segment.*/
79REGION_ALIAS("BSS_RAM", ram0);
80
81/* RAM region to be used for HEAP segment.*/
82REGION_ALIAS("HEAP_RAM", ram0);
83
84INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/WB32F3G71x9.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/WB32F3G71x9.ld
new file mode 100644
index 000000000..cbae17d1e
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/WB32F3G71x9.ld
@@ -0,0 +1,85 @@
1/*
2 Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd
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 * WB32F3G71x9 memory setup.
19 */
20MEMORY
21{
22 flash0 (rx) : org = 0x08000000, len = 96k
23 flash1 (rx) : org = 0x00000000, len = 0
24 flash2 (rx) : org = 0x00000000, len = 0
25 flash3 (rx) : org = 0x00000000, len = 0
26 flash4 (rx) : org = 0x00000000, len = 0
27 flash5 (rx) : org = 0x00000000, len = 0
28 flash6 (rx) : org = 0x00000000, len = 0
29 flash7 (rx) : org = 0x00000000, len = 0
30 ram0 (wx) : org = 0x20000000, len = 28k
31 ram1 (wx) : org = 0x00000000, len = 0
32 ram2 (wx) : org = 0x00000000, len = 0
33 ram3 (wx) : org = 0x00000000, len = 0
34 ram4 (wx) : org = 0x00000000, len = 0
35 ram5 (wx) : org = 0x00000000, len = 0
36 ram6 (wx) : org = 0x00000000, len = 0
37 ram7 (wx) : org = 0x00000000, len = 0
38}
39
40/* For each data/text section two region are defined, a virtual region
41 and a load region (_LMA suffix).*/
42
43/* Flash region to be used for exception vectors.*/
44REGION_ALIAS("VECTORS_FLASH", flash0);
45REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
46
47/* Flash region to be used for constructors and destructors.*/
48REGION_ALIAS("XTORS_FLASH", flash0);
49REGION_ALIAS("XTORS_FLASH_LMA", flash0);
50
51/* Flash region to be used for code text.*/
52REGION_ALIAS("TEXT_FLASH", flash0);
53REGION_ALIAS("TEXT_FLASH_LMA", flash0);
54
55/* Flash region to be used for read only data.*/
56REGION_ALIAS("RODATA_FLASH", flash0);
57REGION_ALIAS("RODATA_FLASH_LMA", flash0);
58
59/* Flash region to be used for various.*/
60REGION_ALIAS("VARIOUS_FLASH", flash0);
61REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
62
63/* Flash region to be used for RAM(n) initialization data.*/
64REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
65
66/* RAM region to be used for Main stack. This stack accommodates the processing
67 of all exceptions and interrupts.*/
68REGION_ALIAS("MAIN_STACK_RAM", ram0);
69
70/* RAM region to be used for the process stack. This is the stack used by
71 the main() function.*/
72REGION_ALIAS("PROCESS_STACK_RAM", ram0);
73
74/* RAM region to be used for data segment.*/
75REGION_ALIAS("DATA_RAM", ram0);
76REGION_ALIAS("DATA_RAM_LMA", flash0);
77
78/* RAM region to be used for BSS segment.*/
79REGION_ALIAS("BSS_RAM", ram0);
80
81/* RAM region to be used for the default heap.*/
82REGION_ALIAS("HEAP_RAM", ram0);
83
84/* Generic rules inclusion.*/
85INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/WB32F3G71xB.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/WB32F3G71xB.ld
new file mode 100644
index 000000000..f8e08b5ab
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/WB32F3G71xB.ld
@@ -0,0 +1,85 @@
1/*
2 Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd
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 * WB32F3G71xB memory setup.
19 */
20MEMORY
21{
22 flash0 (rx) : org = 0x08000000, len = 128k
23 flash1 (rx) : org = 0x00000000, len = 0
24 flash2 (rx) : org = 0x00000000, len = 0
25 flash3 (rx) : org = 0x00000000, len = 0
26 flash4 (rx) : org = 0x00000000, len = 0
27 flash5 (rx) : org = 0x00000000, len = 0
28 flash6 (rx) : org = 0x00000000, len = 0
29 flash7 (rx) : org = 0x00000000, len = 0
30 ram0 (wx) : org = 0x20000000, len = 28k
31 ram1 (wx) : org = 0x00000000, len = 0
32 ram2 (wx) : org = 0x00000000, len = 0
33 ram3 (wx) : org = 0x00000000, len = 0
34 ram4 (wx) : org = 0x00000000, len = 0
35 ram5 (wx) : org = 0x00000000, len = 0
36 ram6 (wx) : org = 0x00000000, len = 0
37 ram7 (wx) : org = 0x00000000, len = 0
38}
39
40/* For each data/text section two region are defined, a virtual region
41 and a load region (_LMA suffix).*/
42
43/* Flash region to be used for exception vectors.*/
44REGION_ALIAS("VECTORS_FLASH", flash0);
45REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
46
47/* Flash region to be used for constructors and destructors.*/
48REGION_ALIAS("XTORS_FLASH", flash0);
49REGION_ALIAS("XTORS_FLASH_LMA", flash0);
50
51/* Flash region to be used for code text.*/
52REGION_ALIAS("TEXT_FLASH", flash0);
53REGION_ALIAS("TEXT_FLASH_LMA", flash0);
54
55/* Flash region to be used for read only data.*/
56REGION_ALIAS("RODATA_FLASH", flash0);
57REGION_ALIAS("RODATA_FLASH_LMA", flash0);
58
59/* Flash region to be used for various.*/
60REGION_ALIAS("VARIOUS_FLASH", flash0);
61REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
62
63/* Flash region to be used for RAM(n) initialization data.*/
64REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
65
66/* RAM region to be used for Main stack. This stack accommodates the processing
67 of all exceptions and interrupts.*/
68REGION_ALIAS("MAIN_STACK_RAM", ram0);
69
70/* RAM region to be used for the process stack. This is the stack used by
71 the main() function.*/
72REGION_ALIAS("PROCESS_STACK_RAM", ram0);
73
74/* RAM region to be used for data segment.*/
75REGION_ALIAS("DATA_RAM", ram0);
76REGION_ALIAS("DATA_RAM_LMA", flash0);
77
78/* RAM region to be used for BSS segment.*/
79REGION_ALIAS("BSS_RAM", ram0);
80
81/* RAM region to be used for the default heap.*/
82REGION_ALIAS("HEAP_RAM", ram0);
83
84/* Generic rules inclusion.*/
85INCLUDE rules.ld
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/WB32F3G71xC.ld b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/WB32F3G71xC.ld
new file mode 100644
index 000000000..f4bc0e60e
--- /dev/null
+++ b/lib/chibios-contrib/os/common/startup/ARMCMx/compilers/GCC/ld/WB32F3G71xC.ld
@@ -0,0 +1,85 @@
1/*
2 Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd
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 * WB32F3G71xC memory setup.
19 */
20MEMORY
21{
22 flash0 (rx) : org = 0x08000000, len = 256k
23 flash1 (rx) : org = 0x00000000, len = 0
24 flash2 (rx) : org = 0x00000000, len = 0
25 flash3 (rx) : org = 0x00000000, len = 0
26 flash4 (rx) : org = 0x00000000, len = 0
27 flash5 (rx) : org = 0x00000000, len = 0
28 flash6 (rx) : org = 0x00000000, len = 0
29 flash7 (rx) : org = 0x00000000, len = 0
30 ram0 (wx) : org = 0x20000000, len = 36k
31 ram1 (wx) : org = 0x00000000, len = 0
32 ram2 (wx) : org = 0x00000000, len = 0
33 ram3 (wx) : org = 0x00000000, len = 0
34 ram4 (wx) : org = 0x00000000, len = 0
35 ram5 (wx) : org = 0x00000000, len = 0
36 ram6 (wx) : org = 0x00000000, len = 0
37 ram7 (wx) : org = 0x00000000, len = 0
38}
39
40/* For each data/text section two region are defined, a virtual region
41 and a load region (_LMA suffix).*/
42
43/* Flash region to be used for exception vectors.*/
44REGION_ALIAS("VECTORS_FLASH", flash0);
45REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
46
47/* Flash region to be used for constructors and destructors.*/
48REGION_ALIAS("XTORS_FLASH", flash0);
49REGION_ALIAS("XTORS_FLASH_LMA", flash0);
50
51/* Flash region to be used for code text.*/
52REGION_ALIAS("TEXT_FLASH", flash0);
53REGION_ALIAS("TEXT_FLASH_LMA", flash0);
54
55/* Flash region to be used for read only data.*/
56REGION_ALIAS("RODATA_FLASH", flash0);
57REGION_ALIAS("RODATA_FLASH_LMA", flash0);
58
59/* Flash region to be used for various.*/
60REGION_ALIAS("VARIOUS_FLASH", flash0);
61REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
62
63/* Flash region to be used for RAM(n) initialization data.*/
64REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
65
66/* RAM region to be used for Main stack. This stack accommodates the processing
67 of all exceptions and interrupts.*/
68REGION_ALIAS("MAIN_STACK_RAM", ram0);
69
70/* RAM region to be used for the process stack. This is the stack used by
71 the main() function.*/
72REGION_ALIAS("PROCESS_STACK_RAM", ram0);
73
74/* RAM region to be used for data segment.*/
75REGION_ALIAS("DATA_RAM", ram0);
76REGION_ALIAS("DATA_RAM_LMA", flash0);
77
78/* RAM region to be used for BSS segment.*/
79REGION_ALIAS("BSS_RAM", ram0);
80
81/* RAM region to be used for the default heap.*/
82REGION_ALIAS("HEAP_RAM", ram0);
83
84/* Generic rules inclusion.*/
85INCLUDE rules.ld