diff options
Diffstat (limited to 'lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc')
14 files changed, 3369 insertions, 0 deletions
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core0_flash.ld b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core0_flash.ld new file mode 100644 index 000000000..559de551e --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core0_flash.ld | |||
@@ -0,0 +1,234 @@ | |||
1 | /* | ||
2 | ** ################################################################### | ||
3 | ** Processors: LPC55S69JBD100_cm33_core0 | ||
4 | ** LPC55S69JBD64_cm33_core0 | ||
5 | ** LPC55S69JEV98_cm33_core0 | ||
6 | ** | ||
7 | ** Compiler: GNU C Compiler | ||
8 | ** Reference manual: LPC55S6x/LPC55S2x/LPC552x User manual(UM11126) Rev.1.3 16 May 2019 | ||
9 | ** Version: rev. 1.1, 2019-05-16 | ||
10 | ** Build: b200722 | ||
11 | ** | ||
12 | ** Abstract: | ||
13 | ** Linker file for the GNU C Compiler | ||
14 | ** | ||
15 | ** Copyright 2016 Freescale Semiconductor, Inc. | ||
16 | ** Copyright 2016-2020 NXP | ||
17 | ** All rights reserved. | ||
18 | ** | ||
19 | ** SPDX-License-Identifier: BSD-3-Clause | ||
20 | ** | ||
21 | ** http: www.nxp.com | ||
22 | ** mail: [email protected] | ||
23 | ** | ||
24 | ** ################################################################### | ||
25 | */ | ||
26 | |||
27 | |||
28 | |||
29 | /* Entry Point */ | ||
30 | ENTRY(Reset_Handler) | ||
31 | |||
32 | HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400; | ||
33 | STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0800; | ||
34 | RPMSG_SHMEM_SIZE = DEFINED(__use_shmem__) ? 0x1800 : 0; | ||
35 | |||
36 | /* Specify the memory areas */ | ||
37 | MEMORY | ||
38 | { | ||
39 | m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000200 | ||
40 | m_text (RX) : ORIGIN = 0x00000200, LENGTH = 0x00071E00 | ||
41 | m_core1_image (RX) : ORIGIN = 0x00072000, LENGTH = 0x00026000 | ||
42 | m_data (RW) : ORIGIN = 0x20000000, LENGTH = 0x00033000 - RPMSG_SHMEM_SIZE | ||
43 | rpmsg_sh_mem (RW) : ORIGIN = 0x20033000 - RPMSG_SHMEM_SIZE, LENGTH = RPMSG_SHMEM_SIZE | ||
44 | m_usb_sram (RW) : ORIGIN = 0x40100000, LENGTH = 0x00004000 | ||
45 | } | ||
46 | |||
47 | /* Define output sections */ | ||
48 | SECTIONS | ||
49 | { | ||
50 | /* section for storing the secondary core image */ | ||
51 | .core1_code : | ||
52 | { | ||
53 | . = ALIGN(4) ; | ||
54 | KEEP (*(.core1_code)) | ||
55 | *(.core1_code*) | ||
56 | . = ALIGN(4) ; | ||
57 | } > m_core1_image | ||
58 | |||
59 | /* NOINIT section for rpmsg_sh_mem */ | ||
60 | .noinit_rpmsg_sh_mem (NOLOAD) : ALIGN(4) | ||
61 | { | ||
62 | __RPMSG_SH_MEM_START__ = .; | ||
63 | *(.noinit.$rpmsg_sh_mem*) | ||
64 | . = ALIGN(4) ; | ||
65 | __RPMSG_SH_MEM_END__ = .; | ||
66 | } > rpmsg_sh_mem | ||
67 | |||
68 | /* The startup code goes first into internal flash */ | ||
69 | .interrupts : | ||
70 | { | ||
71 | . = ALIGN(4); | ||
72 | KEEP(*(.isr_vector)) /* Startup code */ | ||
73 | . = ALIGN(4); | ||
74 | } > m_interrupts | ||
75 | |||
76 | /* The program code and other data goes into internal flash */ | ||
77 | .text : | ||
78 | { | ||
79 | . = ALIGN(4); | ||
80 | *(.text) /* .text sections (code) */ | ||
81 | *(.text*) /* .text* sections (code) */ | ||
82 | *(.rodata) /* .rodata sections (constants, strings, etc.) */ | ||
83 | *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ | ||
84 | *(.glue_7) /* glue arm to thumb code */ | ||
85 | *(.glue_7t) /* glue thumb to arm code */ | ||
86 | *(.eh_frame) | ||
87 | KEEP (*(.init)) | ||
88 | KEEP (*(.fini)) | ||
89 | . = ALIGN(4); | ||
90 | } > m_text | ||
91 | |||
92 | .ARM.extab : | ||
93 | { | ||
94 | *(.ARM.extab* .gnu.linkonce.armextab.*) | ||
95 | } > m_text | ||
96 | |||
97 | .ARM : | ||
98 | { | ||
99 | __exidx_start = .; | ||
100 | *(.ARM.exidx*) | ||
101 | __exidx_end = .; | ||
102 | } > m_text | ||
103 | |||
104 | .ctors : | ||
105 | { | ||
106 | __CTOR_LIST__ = .; | ||
107 | /* gcc uses crtbegin.o to find the start of | ||
108 | the constructors, so we make sure it is | ||
109 | first. Because this is a wildcard, it | ||
110 | doesn't matter if the user does not | ||
111 | actually link against crtbegin.o; the | ||
112 | linker won't look for a file to match a | ||
113 | wildcard. The wildcard also means that it | ||
114 | doesn't matter which directory crtbegin.o | ||
115 | is in. */ | ||
116 | KEEP (*crtbegin.o(.ctors)) | ||
117 | KEEP (*crtbegin?.o(.ctors)) | ||
118 | /* We don't want to include the .ctor section from | ||
119 | from the crtend.o file until after the sorted ctors. | ||
120 | The .ctor section from the crtend file contains the | ||
121 | end of ctors marker and it must be last */ | ||
122 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)) | ||
123 | KEEP (*(SORT(.ctors.*))) | ||
124 | KEEP (*(.ctors)) | ||
125 | __CTOR_END__ = .; | ||
126 | } > m_text | ||
127 | |||
128 | .dtors : | ||
129 | { | ||
130 | __DTOR_LIST__ = .; | ||
131 | KEEP (*crtbegin.o(.dtors)) | ||
132 | KEEP (*crtbegin?.o(.dtors)) | ||
133 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)) | ||
134 | KEEP (*(SORT(.dtors.*))) | ||
135 | KEEP (*(.dtors)) | ||
136 | __DTOR_END__ = .; | ||
137 | } > m_text | ||
138 | |||
139 | .preinit_array : | ||
140 | { | ||
141 | PROVIDE_HIDDEN (__preinit_array_start = .); | ||
142 | KEEP (*(.preinit_array*)) | ||
143 | PROVIDE_HIDDEN (__preinit_array_end = .); | ||
144 | } > m_text | ||
145 | |||
146 | .init_array : | ||
147 | { | ||
148 | PROVIDE_HIDDEN (__init_array_start = .); | ||
149 | KEEP (*(SORT(.init_array.*))) | ||
150 | KEEP (*(.init_array*)) | ||
151 | PROVIDE_HIDDEN (__init_array_end = .); | ||
152 | } > m_text | ||
153 | |||
154 | .fini_array : | ||
155 | { | ||
156 | PROVIDE_HIDDEN (__fini_array_start = .); | ||
157 | KEEP (*(SORT(.fini_array.*))) | ||
158 | KEEP (*(.fini_array*)) | ||
159 | PROVIDE_HIDDEN (__fini_array_end = .); | ||
160 | } > m_text | ||
161 | |||
162 | __etext = .; /* define a global symbol at end of code */ | ||
163 | __DATA_ROM = .; /* Symbol is used by startup for data initialization */ | ||
164 | |||
165 | .data : AT(__DATA_ROM) | ||
166 | { | ||
167 | . = ALIGN(4); | ||
168 | __DATA_RAM = .; | ||
169 | __data_start__ = .; /* create a global symbol at data start */ | ||
170 | *(.ramfunc*) /* for functions in ram */ | ||
171 | *(.data) /* .data sections */ | ||
172 | *(.data*) /* .data* sections */ | ||
173 | KEEP(*(.jcr*)) | ||
174 | . = ALIGN(4); | ||
175 | __data_end__ = .; /* define a global symbol at data end */ | ||
176 | } > m_data | ||
177 | |||
178 | __DATA_END = __DATA_ROM + (__data_end__ - __data_start__); | ||
179 | text_end = ORIGIN(m_text) + LENGTH(m_text); | ||
180 | ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data") | ||
181 | |||
182 | /* Uninitialized data section */ | ||
183 | .bss : | ||
184 | { | ||
185 | /* This is used by the startup in order to initialize the .bss section */ | ||
186 | . = ALIGN(4); | ||
187 | __START_BSS = .; | ||
188 | __bss_start__ = .; | ||
189 | *(.bss) | ||
190 | *(.bss*) | ||
191 | *(COMMON) | ||
192 | . = ALIGN(4); | ||
193 | __bss_end__ = .; | ||
194 | __END_BSS = .; | ||
195 | } > m_data | ||
196 | |||
197 | .heap : | ||
198 | { | ||
199 | . = ALIGN(8); | ||
200 | __end__ = .; | ||
201 | PROVIDE(end = .); | ||
202 | __HeapBase = .; | ||
203 | . += HEAP_SIZE; | ||
204 | __HeapLimit = .; | ||
205 | __heap_limit = .; /* Add for _sbrk */ | ||
206 | } > m_data | ||
207 | |||
208 | .stack : | ||
209 | { | ||
210 | . = ALIGN(8); | ||
211 | . += STACK_SIZE; | ||
212 | } > m_data | ||
213 | |||
214 | m_usb_bdt (NOLOAD) : | ||
215 | { | ||
216 | . = ALIGN(512); | ||
217 | *(m_usb_bdt) | ||
218 | } > m_usb_sram | ||
219 | |||
220 | m_usb_global (NOLOAD) : | ||
221 | { | ||
222 | *(m_usb_global) | ||
223 | } > m_usb_sram | ||
224 | |||
225 | /* Initializes stack on the end of block */ | ||
226 | __StackTop = ORIGIN(m_data) + LENGTH(m_data); | ||
227 | __StackLimit = __StackTop - STACK_SIZE; | ||
228 | PROVIDE(__stack = __StackTop); | ||
229 | |||
230 | .ARM.attributes 0 : { *(.ARM.attributes) } | ||
231 | |||
232 | ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap") | ||
233 | } | ||
234 | |||
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core0_flash_ns.ld b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core0_flash_ns.ld new file mode 100644 index 000000000..c0e231165 --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core0_flash_ns.ld | |||
@@ -0,0 +1,234 @@ | |||
1 | /* | ||
2 | ** ################################################################### | ||
3 | ** Processors: LPC55S69JBD100_cm33_core0 | ||
4 | ** LPC55S69JBD64_cm33_core0 | ||
5 | ** LPC55S69JEV98_cm33_core0 | ||
6 | ** | ||
7 | ** Compiler: GNU C Compiler | ||
8 | ** Reference manual: LPC55S6x/LPC55S2x/LPC552x User manual(UM11126) Rev.1.3 16 May 2019 | ||
9 | ** Version: rev. 1.1, 2019-05-16 | ||
10 | ** Build: b190926 | ||
11 | ** | ||
12 | ** Abstract: | ||
13 | ** Linker file for the GNU C Compiler | ||
14 | ** | ||
15 | ** Copyright 2016 Freescale Semiconductor, Inc. | ||
16 | ** Copyright 2016-2019 NXP | ||
17 | ** All rights reserved. | ||
18 | ** | ||
19 | ** SPDX-License-Identifier: BSD-3-Clause | ||
20 | ** | ||
21 | ** http: www.nxp.com | ||
22 | ** mail: [email protected] | ||
23 | ** | ||
24 | ** ################################################################### | ||
25 | */ | ||
26 | |||
27 | |||
28 | |||
29 | /* Entry Point */ | ||
30 | ENTRY(Reset_Handler) | ||
31 | |||
32 | HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400; | ||
33 | STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0800; | ||
34 | RPMSG_SHMEM_SIZE = DEFINED(__use_shmem__) ? 0x1800 : 0; | ||
35 | |||
36 | /* Specify the memory areas */ | ||
37 | MEMORY | ||
38 | { | ||
39 | m_interrupts (RX) : ORIGIN = 0x00010000, LENGTH = 0x00000200 | ||
40 | m_text (RX) : ORIGIN = 0x00010200, LENGTH = 0x00061E00 | ||
41 | m_core1_image (RX) : ORIGIN = 0x00072000, LENGTH = 0x00026000 | ||
42 | m_data (RW) : ORIGIN = 0x20008000, LENGTH = 0x0002A800 - RPMSG_SHMEM_SIZE | ||
43 | rpmsg_sh_mem (RW) : ORIGIN = 0x20033000 - RPMSG_SHMEM_SIZE, LENGTH = RPMSG_SHMEM_SIZE | ||
44 | m_usb_sram (RW) : ORIGIN = 0x40100000, LENGTH = 0x00004000 | ||
45 | } | ||
46 | |||
47 | /* Define output sections */ | ||
48 | SECTIONS | ||
49 | { | ||
50 | /* section for storing the secondary core image */ | ||
51 | .core1_code : | ||
52 | { | ||
53 | . = ALIGN(4) ; | ||
54 | KEEP (*(.core1_code)) | ||
55 | *(.core1_code*) | ||
56 | . = ALIGN(4) ; | ||
57 | } > m_core1_image | ||
58 | |||
59 | /* NOINIT section for rpmsg_sh_mem */ | ||
60 | .noinit_rpmsg_sh_mem (NOLOAD) : ALIGN(4) | ||
61 | { | ||
62 | __RPMSG_SH_MEM_START__ = .; | ||
63 | *(.noinit.$rpmsg_sh_mem*) | ||
64 | . = ALIGN(4) ; | ||
65 | __RPMSG_SH_MEM_END__ = .; | ||
66 | } > rpmsg_sh_mem | ||
67 | |||
68 | /* The startup code goes first into internal flash */ | ||
69 | .interrupts : | ||
70 | { | ||
71 | . = ALIGN(4); | ||
72 | KEEP(*(.isr_vector)) /* Startup code */ | ||
73 | . = ALIGN(4); | ||
74 | } > m_interrupts | ||
75 | |||
76 | /* The program code and other data goes into internal flash */ | ||
77 | .text : | ||
78 | { | ||
79 | . = ALIGN(4); | ||
80 | *(.text) /* .text sections (code) */ | ||
81 | *(.text*) /* .text* sections (code) */ | ||
82 | *(.rodata) /* .rodata sections (constants, strings, etc.) */ | ||
83 | *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ | ||
84 | *(.glue_7) /* glue arm to thumb code */ | ||
85 | *(.glue_7t) /* glue thumb to arm code */ | ||
86 | *(.eh_frame) | ||
87 | KEEP (*(.init)) | ||
88 | KEEP (*(.fini)) | ||
89 | . = ALIGN(4); | ||
90 | } > m_text | ||
91 | |||
92 | .ARM.extab : | ||
93 | { | ||
94 | *(.ARM.extab* .gnu.linkonce.armextab.*) | ||
95 | } > m_text | ||
96 | |||
97 | .ARM : | ||
98 | { | ||
99 | __exidx_start = .; | ||
100 | *(.ARM.exidx*) | ||
101 | __exidx_end = .; | ||
102 | } > m_text | ||
103 | |||
104 | .ctors : | ||
105 | { | ||
106 | __CTOR_LIST__ = .; | ||
107 | /* gcc uses crtbegin.o to find the start of | ||
108 | the constructors, so we make sure it is | ||
109 | first. Because this is a wildcard, it | ||
110 | doesn't matter if the user does not | ||
111 | actually link against crtbegin.o; the | ||
112 | linker won't look for a file to match a | ||
113 | wildcard. The wildcard also means that it | ||
114 | doesn't matter which directory crtbegin.o | ||
115 | is in. */ | ||
116 | KEEP (*crtbegin.o(.ctors)) | ||
117 | KEEP (*crtbegin?.o(.ctors)) | ||
118 | /* We don't want to include the .ctor section from | ||
119 | from the crtend.o file until after the sorted ctors. | ||
120 | The .ctor section from the crtend file contains the | ||
121 | end of ctors marker and it must be last */ | ||
122 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)) | ||
123 | KEEP (*(SORT(.ctors.*))) | ||
124 | KEEP (*(.ctors)) | ||
125 | __CTOR_END__ = .; | ||
126 | } > m_text | ||
127 | |||
128 | .dtors : | ||
129 | { | ||
130 | __DTOR_LIST__ = .; | ||
131 | KEEP (*crtbegin.o(.dtors)) | ||
132 | KEEP (*crtbegin?.o(.dtors)) | ||
133 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)) | ||
134 | KEEP (*(SORT(.dtors.*))) | ||
135 | KEEP (*(.dtors)) | ||
136 | __DTOR_END__ = .; | ||
137 | } > m_text | ||
138 | |||
139 | .preinit_array : | ||
140 | { | ||
141 | PROVIDE_HIDDEN (__preinit_array_start = .); | ||
142 | KEEP (*(.preinit_array*)) | ||
143 | PROVIDE_HIDDEN (__preinit_array_end = .); | ||
144 | } > m_text | ||
145 | |||
146 | .init_array : | ||
147 | { | ||
148 | PROVIDE_HIDDEN (__init_array_start = .); | ||
149 | KEEP (*(SORT(.init_array.*))) | ||
150 | KEEP (*(.init_array*)) | ||
151 | PROVIDE_HIDDEN (__init_array_end = .); | ||
152 | } > m_text | ||
153 | |||
154 | .fini_array : | ||
155 | { | ||
156 | PROVIDE_HIDDEN (__fini_array_start = .); | ||
157 | KEEP (*(SORT(.fini_array.*))) | ||
158 | KEEP (*(.fini_array*)) | ||
159 | PROVIDE_HIDDEN (__fini_array_end = .); | ||
160 | } > m_text | ||
161 | |||
162 | __etext = .; /* define a global symbol at end of code */ | ||
163 | __DATA_ROM = .; /* Symbol is used by startup for data initialization */ | ||
164 | |||
165 | .data : AT(__DATA_ROM) | ||
166 | { | ||
167 | . = ALIGN(4); | ||
168 | __DATA_RAM = .; | ||
169 | __data_start__ = .; /* create a global symbol at data start */ | ||
170 | *(.ramfunc*) /* for functions in ram */ | ||
171 | *(.data) /* .data sections */ | ||
172 | *(.data*) /* .data* sections */ | ||
173 | KEEP(*(.jcr*)) | ||
174 | . = ALIGN(4); | ||
175 | __data_end__ = .; /* define a global symbol at data end */ | ||
176 | } > m_data | ||
177 | |||
178 | __DATA_END = __DATA_ROM + (__data_end__ - __data_start__); | ||
179 | text_end = ORIGIN(m_text) + LENGTH(m_text); | ||
180 | ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data") | ||
181 | |||
182 | /* Uninitialized data section */ | ||
183 | .bss : | ||
184 | { | ||
185 | /* This is used by the startup in order to initialize the .bss section */ | ||
186 | . = ALIGN(4); | ||
187 | __START_BSS = .; | ||
188 | __bss_start__ = .; | ||
189 | *(.bss) | ||
190 | *(.bss*) | ||
191 | *(COMMON) | ||
192 | . = ALIGN(4); | ||
193 | __bss_end__ = .; | ||
194 | __END_BSS = .; | ||
195 | } > m_data | ||
196 | |||
197 | .heap : | ||
198 | { | ||
199 | . = ALIGN(8); | ||
200 | __end__ = .; | ||
201 | PROVIDE(end = .); | ||
202 | __HeapBase = .; | ||
203 | . += HEAP_SIZE; | ||
204 | __HeapLimit = .; | ||
205 | __heap_limit = .; /* Add for _sbrk */ | ||
206 | } > m_data | ||
207 | |||
208 | .stack : | ||
209 | { | ||
210 | . = ALIGN(8); | ||
211 | . += STACK_SIZE; | ||
212 | } > m_data | ||
213 | |||
214 | m_usb_bdt (NOLOAD) : | ||
215 | { | ||
216 | . = ALIGN(512); | ||
217 | *(m_usb_bdt) | ||
218 | } > m_usb_sram | ||
219 | |||
220 | m_usb_global (NOLOAD) : | ||
221 | { | ||
222 | *(m_usb_global) | ||
223 | } > m_usb_sram | ||
224 | |||
225 | /* Initializes stack on the end of block */ | ||
226 | __StackTop = ORIGIN(m_data) + LENGTH(m_data); | ||
227 | __StackLimit = __StackTop - STACK_SIZE; | ||
228 | PROVIDE(__stack = __StackTop); | ||
229 | |||
230 | .ARM.attributes 0 : { *(.ARM.attributes) } | ||
231 | |||
232 | ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap") | ||
233 | } | ||
234 | |||
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core0_flash_s.ld b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core0_flash_s.ld new file mode 100644 index 000000000..e65b3f586 --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core0_flash_s.ld | |||
@@ -0,0 +1,245 @@ | |||
1 | /* | ||
2 | ** ################################################################### | ||
3 | ** Processors: LPC55S69JBD100_cm33_core0 | ||
4 | ** LPC55S69JBD64_cm33_core0 | ||
5 | ** LPC55S69JEV98_cm33_core0 | ||
6 | ** | ||
7 | ** Compiler: GNU C Compiler | ||
8 | ** Reference manual: LPC55S6x/LPC55S2x/LPC552x User manual(UM11126) Rev.1.3 16 May 2019 | ||
9 | ** Version: rev. 1.1, 2019-05-16 | ||
10 | ** Build: b190926 | ||
11 | ** | ||
12 | ** Abstract: | ||
13 | ** Linker file for the GNU C Compiler | ||
14 | ** | ||
15 | ** Copyright 2016 Freescale Semiconductor, Inc. | ||
16 | ** Copyright 2016-2019 NXP | ||
17 | ** All rights reserved. | ||
18 | ** | ||
19 | ** SPDX-License-Identifier: BSD-3-Clause | ||
20 | ** | ||
21 | ** http: www.nxp.com | ||
22 | ** mail: [email protected] | ||
23 | ** | ||
24 | ** ################################################################### | ||
25 | */ | ||
26 | |||
27 | |||
28 | |||
29 | /* Entry Point */ | ||
30 | ENTRY(Reset_Handler) | ||
31 | |||
32 | HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400; | ||
33 | STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0800; | ||
34 | RPMSG_SHMEM_SIZE = DEFINED(__use_shmem__) ? 0x1800 : 0; | ||
35 | |||
36 | /* Specify the memory areas */ | ||
37 | MEMORY | ||
38 | { | ||
39 | m_interrupts (RX) : ORIGIN = 0x10000000, LENGTH = 0x00000200 | ||
40 | m_text (RX) : ORIGIN = 0x10000200, LENGTH = 0x0000FC00 | ||
41 | m_veneer_table (RX) : ORIGIN = 0x1000FE00, LENGTH = 0x00000200 | ||
42 | m_core1_image (RX) : ORIGIN = 0x10072000, LENGTH = 0x00026000 | ||
43 | m_data (RW) : ORIGIN = 0x30000000, LENGTH = 0x00008000 | ||
44 | rpmsg_sh_mem (RW) : ORIGIN = 0x30033000 - RPMSG_SHMEM_SIZE, LENGTH = RPMSG_SHMEM_SIZE | ||
45 | m_usb_sram (RW) : ORIGIN = 0x50100000, LENGTH = 0x00004000 | ||
46 | } | ||
47 | |||
48 | /* Define output sections */ | ||
49 | SECTIONS | ||
50 | { | ||
51 | /* section for storing the secondary core image */ | ||
52 | .core1_code : | ||
53 | { | ||
54 | . = ALIGN(4) ; | ||
55 | KEEP (*(.core1_code)) | ||
56 | *(.core1_code*) | ||
57 | . = ALIGN(4) ; | ||
58 | } > m_core1_image | ||
59 | |||
60 | /* NOINIT section for rpmsg_sh_mem */ | ||
61 | .noinit_rpmsg_sh_mem (NOLOAD) : ALIGN(4) | ||
62 | { | ||
63 | __RPMSG_SH_MEM_START__ = .; | ||
64 | *(.noinit.$rpmsg_sh_mem*) | ||
65 | . = ALIGN(4) ; | ||
66 | __RPMSG_SH_MEM_END__ = .; | ||
67 | } > rpmsg_sh_mem | ||
68 | |||
69 | /* The startup code goes first into internal flash */ | ||
70 | .interrupts : | ||
71 | { | ||
72 | . = ALIGN(4); | ||
73 | KEEP(*(.isr_vector)) /* Startup code */ | ||
74 | . = ALIGN(4); | ||
75 | } > m_interrupts | ||
76 | |||
77 | /* The program code and other data goes into internal flash */ | ||
78 | .text : | ||
79 | { | ||
80 | . = ALIGN(4); | ||
81 | *(.text) /* .text sections (code) */ | ||
82 | *(.text*) /* .text* sections (code) */ | ||
83 | *(.rodata) /* .rodata sections (constants, strings, etc.) */ | ||
84 | *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ | ||
85 | *(.glue_7) /* glue arm to thumb code */ | ||
86 | *(.glue_7t) /* glue thumb to arm code */ | ||
87 | *(.eh_frame) | ||
88 | KEEP (*(.init)) | ||
89 | KEEP (*(.fini)) | ||
90 | . = ALIGN(4); | ||
91 | } > m_text | ||
92 | |||
93 | /* section for veneer table */ | ||
94 | .gnu.sgstubs : | ||
95 | { | ||
96 | . = ALIGN(32); | ||
97 | _start_sg = .; | ||
98 | *(.gnu.sgstubs*) | ||
99 | . = ALIGN(32); | ||
100 | _end_sg = .; | ||
101 | } > m_veneer_table | ||
102 | |||
103 | .ARM.extab : | ||
104 | { | ||
105 | *(.ARM.extab* .gnu.linkonce.armextab.*) | ||
106 | } > m_text | ||
107 | |||
108 | .ARM : | ||
109 | { | ||
110 | __exidx_start = .; | ||
111 | *(.ARM.exidx*) | ||
112 | __exidx_end = .; | ||
113 | } > m_text | ||
114 | |||
115 | .ctors : | ||
116 | { | ||
117 | __CTOR_LIST__ = .; | ||
118 | /* gcc uses crtbegin.o to find the start of | ||
119 | the constructors, so we make sure it is | ||
120 | first. Because this is a wildcard, it | ||
121 | doesn't matter if the user does not | ||
122 | actually link against crtbegin.o; the | ||
123 | linker won't look for a file to match a | ||
124 | wildcard. The wildcard also means that it | ||
125 | doesn't matter which directory crtbegin.o | ||
126 | is in. */ | ||
127 | KEEP (*crtbegin.o(.ctors)) | ||
128 | KEEP (*crtbegin?.o(.ctors)) | ||
129 | /* We don't want to include the .ctor section from | ||
130 | from the crtend.o file until after the sorted ctors. | ||
131 | The .ctor section from the crtend file contains the | ||
132 | end of ctors marker and it must be last */ | ||
133 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)) | ||
134 | KEEP (*(SORT(.ctors.*))) | ||
135 | KEEP (*(.ctors)) | ||
136 | __CTOR_END__ = .; | ||
137 | } > m_text | ||
138 | |||
139 | .dtors : | ||
140 | { | ||
141 | __DTOR_LIST__ = .; | ||
142 | KEEP (*crtbegin.o(.dtors)) | ||
143 | KEEP (*crtbegin?.o(.dtors)) | ||
144 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)) | ||
145 | KEEP (*(SORT(.dtors.*))) | ||
146 | KEEP (*(.dtors)) | ||
147 | __DTOR_END__ = .; | ||
148 | } > m_text | ||
149 | |||
150 | .preinit_array : | ||
151 | { | ||
152 | PROVIDE_HIDDEN (__preinit_array_start = .); | ||
153 | KEEP (*(.preinit_array*)) | ||
154 | PROVIDE_HIDDEN (__preinit_array_end = .); | ||
155 | } > m_text | ||
156 | |||
157 | .init_array : | ||
158 | { | ||
159 | PROVIDE_HIDDEN (__init_array_start = .); | ||
160 | KEEP (*(SORT(.init_array.*))) | ||
161 | KEEP (*(.init_array*)) | ||
162 | PROVIDE_HIDDEN (__init_array_end = .); | ||
163 | } > m_text | ||
164 | |||
165 | .fini_array : | ||
166 | { | ||
167 | PROVIDE_HIDDEN (__fini_array_start = .); | ||
168 | KEEP (*(SORT(.fini_array.*))) | ||
169 | KEEP (*(.fini_array*)) | ||
170 | PROVIDE_HIDDEN (__fini_array_end = .); | ||
171 | } > m_text | ||
172 | |||
173 | __etext = .; /* define a global symbol at end of code */ | ||
174 | __DATA_ROM = .; /* Symbol is used by startup for data initialization */ | ||
175 | |||
176 | .data : AT(__DATA_ROM) | ||
177 | { | ||
178 | . = ALIGN(4); | ||
179 | __DATA_RAM = .; | ||
180 | __data_start__ = .; /* create a global symbol at data start */ | ||
181 | *(.ramfunc*) /* for functions in ram */ | ||
182 | *(.data) /* .data sections */ | ||
183 | *(.data*) /* .data* sections */ | ||
184 | KEEP(*(.jcr*)) | ||
185 | . = ALIGN(4); | ||
186 | __data_end__ = .; /* define a global symbol at data end */ | ||
187 | } > m_data | ||
188 | |||
189 | __DATA_END = __DATA_ROM + (__data_end__ - __data_start__); | ||
190 | text_end = ORIGIN(m_text) + LENGTH(m_text); | ||
191 | ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data") | ||
192 | |||
193 | /* Uninitialized data section */ | ||
194 | .bss : | ||
195 | { | ||
196 | /* This is used by the startup in order to initialize the .bss section */ | ||
197 | . = ALIGN(4); | ||
198 | __START_BSS = .; | ||
199 | __bss_start__ = .; | ||
200 | *(.bss) | ||
201 | *(.bss*) | ||
202 | *(COMMON) | ||
203 | . = ALIGN(4); | ||
204 | __bss_end__ = .; | ||
205 | __END_BSS = .; | ||
206 | } > m_data | ||
207 | |||
208 | .heap : | ||
209 | { | ||
210 | . = ALIGN(8); | ||
211 | __end__ = .; | ||
212 | PROVIDE(end = .); | ||
213 | __HeapBase = .; | ||
214 | . += HEAP_SIZE; | ||
215 | __HeapLimit = .; | ||
216 | __heap_limit = .; /* Add for _sbrk */ | ||
217 | } > m_data | ||
218 | |||
219 | .stack : | ||
220 | { | ||
221 | . = ALIGN(8); | ||
222 | . += STACK_SIZE; | ||
223 | } > m_data | ||
224 | |||
225 | m_usb_bdt (NOLOAD) : | ||
226 | { | ||
227 | . = ALIGN(512); | ||
228 | *(m_usb_bdt) | ||
229 | } > m_usb_sram | ||
230 | |||
231 | m_usb_global (NOLOAD) : | ||
232 | { | ||
233 | *(m_usb_global) | ||
234 | } > m_usb_sram | ||
235 | |||
236 | /* Initializes stack on the end of block */ | ||
237 | __StackTop = ORIGIN(m_data) + LENGTH(m_data); | ||
238 | __StackLimit = __StackTop - STACK_SIZE; | ||
239 | PROVIDE(__stack = __StackTop); | ||
240 | |||
241 | .ARM.attributes 0 : { *(.ARM.attributes) } | ||
242 | |||
243 | ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap") | ||
244 | } | ||
245 | |||
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core0_ram.ld b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core0_ram.ld new file mode 100644 index 000000000..c2d426900 --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core0_ram.ld | |||
@@ -0,0 +1,234 @@ | |||
1 | /* | ||
2 | ** ################################################################### | ||
3 | ** Processors: LPC55S69JBD100_cm33_core0 | ||
4 | ** LPC55S69JBD64_cm33_core0 | ||
5 | ** LPC55S69JEV98_cm33_core0 | ||
6 | ** | ||
7 | ** Compiler: GNU C Compiler | ||
8 | ** Reference manual: LPC55S6x/LPC55S2x/LPC552x User manual(UM11126) Rev.1.3 16 May 2019 | ||
9 | ** Version: rev. 1.1, 2019-05-16 | ||
10 | ** Build: b200722 | ||
11 | ** | ||
12 | ** Abstract: | ||
13 | ** Linker file for the GNU C Compiler | ||
14 | ** | ||
15 | ** Copyright 2016 Freescale Semiconductor, Inc. | ||
16 | ** Copyright 2016-2020 NXP | ||
17 | ** All rights reserved. | ||
18 | ** | ||
19 | ** SPDX-License-Identifier: BSD-3-Clause | ||
20 | ** | ||
21 | ** http: www.nxp.com | ||
22 | ** mail: [email protected] | ||
23 | ** | ||
24 | ** ################################################################### | ||
25 | */ | ||
26 | |||
27 | |||
28 | |||
29 | /* Entry Point */ | ||
30 | ENTRY(Reset_Handler) | ||
31 | |||
32 | HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400; | ||
33 | STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0800; | ||
34 | RPMSG_SHMEM_SIZE = DEFINED(__use_shmem__) ? 0x1800 : 0; | ||
35 | |||
36 | /* Specify the memory areas */ | ||
37 | MEMORY | ||
38 | { | ||
39 | m_interrupts (RX) : ORIGIN = 0x04000000, LENGTH = 0x00000200 | ||
40 | m_text (RX) : ORIGIN = 0x04000200, LENGTH = 0x00007E00 | ||
41 | m_core1_image (RX) : ORIGIN = 0x20033000, LENGTH = 0x0000C800 | ||
42 | m_data (RW) : ORIGIN = 0x20000000, LENGTH = 0x00033000 - RPMSG_SHMEM_SIZE | ||
43 | rpmsg_sh_mem (RW) : ORIGIN = 0x20033000 - RPMSG_SHMEM_SIZE, LENGTH = RPMSG_SHMEM_SIZE | ||
44 | m_usb_sram (RW) : ORIGIN = 0x40100000, LENGTH = 0x00004000 | ||
45 | } | ||
46 | |||
47 | /* Define output sections */ | ||
48 | SECTIONS | ||
49 | { | ||
50 | /* section for storing the secondary core image */ | ||
51 | .core1_code : | ||
52 | { | ||
53 | . = ALIGN(4) ; | ||
54 | KEEP (*(.core1_code)) | ||
55 | *(.core1_code*) | ||
56 | . = ALIGN(4) ; | ||
57 | } > m_core1_image | ||
58 | |||
59 | /* NOINIT section for rpmsg_sh_mem */ | ||
60 | .noinit_rpmsg_sh_mem (NOLOAD) : ALIGN(4) | ||
61 | { | ||
62 | __RPMSG_SH_MEM_START__ = .; | ||
63 | *(.noinit.$rpmsg_sh_mem*) | ||
64 | . = ALIGN(4) ; | ||
65 | __RPMSG_SH_MEM_END__ = .; | ||
66 | } > rpmsg_sh_mem | ||
67 | |||
68 | /* The startup code goes first into internal flash */ | ||
69 | .interrupts : | ||
70 | { | ||
71 | . = ALIGN(4); | ||
72 | KEEP(*(.isr_vector)) /* Startup code */ | ||
73 | . = ALIGN(4); | ||
74 | } > m_interrupts | ||
75 | |||
76 | /* The program code and other data goes into internal flash */ | ||
77 | .text : | ||
78 | { | ||
79 | . = ALIGN(4); | ||
80 | *(.text) /* .text sections (code) */ | ||
81 | *(.text*) /* .text* sections (code) */ | ||
82 | *(.rodata) /* .rodata sections (constants, strings, etc.) */ | ||
83 | *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ | ||
84 | *(.glue_7) /* glue arm to thumb code */ | ||
85 | *(.glue_7t) /* glue thumb to arm code */ | ||
86 | *(.eh_frame) | ||
87 | KEEP (*(.init)) | ||
88 | KEEP (*(.fini)) | ||
89 | . = ALIGN(4); | ||
90 | } > m_text | ||
91 | |||
92 | .ARM.extab : | ||
93 | { | ||
94 | *(.ARM.extab* .gnu.linkonce.armextab.*) | ||
95 | } > m_text | ||
96 | |||
97 | .ARM : | ||
98 | { | ||
99 | __exidx_start = .; | ||
100 | *(.ARM.exidx*) | ||
101 | __exidx_end = .; | ||
102 | } > m_text | ||
103 | |||
104 | .ctors : | ||
105 | { | ||
106 | __CTOR_LIST__ = .; | ||
107 | /* gcc uses crtbegin.o to find the start of | ||
108 | the constructors, so we make sure it is | ||
109 | first. Because this is a wildcard, it | ||
110 | doesn't matter if the user does not | ||
111 | actually link against crtbegin.o; the | ||
112 | linker won't look for a file to match a | ||
113 | wildcard. The wildcard also means that it | ||
114 | doesn't matter which directory crtbegin.o | ||
115 | is in. */ | ||
116 | KEEP (*crtbegin.o(.ctors)) | ||
117 | KEEP (*crtbegin?.o(.ctors)) | ||
118 | /* We don't want to include the .ctor section from | ||
119 | from the crtend.o file until after the sorted ctors. | ||
120 | The .ctor section from the crtend file contains the | ||
121 | end of ctors marker and it must be last */ | ||
122 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)) | ||
123 | KEEP (*(SORT(.ctors.*))) | ||
124 | KEEP (*(.ctors)) | ||
125 | __CTOR_END__ = .; | ||
126 | } > m_text | ||
127 | |||
128 | .dtors : | ||
129 | { | ||
130 | __DTOR_LIST__ = .; | ||
131 | KEEP (*crtbegin.o(.dtors)) | ||
132 | KEEP (*crtbegin?.o(.dtors)) | ||
133 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)) | ||
134 | KEEP (*(SORT(.dtors.*))) | ||
135 | KEEP (*(.dtors)) | ||
136 | __DTOR_END__ = .; | ||
137 | } > m_text | ||
138 | |||
139 | .preinit_array : | ||
140 | { | ||
141 | PROVIDE_HIDDEN (__preinit_array_start = .); | ||
142 | KEEP (*(.preinit_array*)) | ||
143 | PROVIDE_HIDDEN (__preinit_array_end = .); | ||
144 | } > m_text | ||
145 | |||
146 | .init_array : | ||
147 | { | ||
148 | PROVIDE_HIDDEN (__init_array_start = .); | ||
149 | KEEP (*(SORT(.init_array.*))) | ||
150 | KEEP (*(.init_array*)) | ||
151 | PROVIDE_HIDDEN (__init_array_end = .); | ||
152 | } > m_text | ||
153 | |||
154 | .fini_array : | ||
155 | { | ||
156 | PROVIDE_HIDDEN (__fini_array_start = .); | ||
157 | KEEP (*(SORT(.fini_array.*))) | ||
158 | KEEP (*(.fini_array*)) | ||
159 | PROVIDE_HIDDEN (__fini_array_end = .); | ||
160 | } > m_text | ||
161 | |||
162 | __etext = .; /* define a global symbol at end of code */ | ||
163 | __DATA_ROM = .; /* Symbol is used by startup for data initialization */ | ||
164 | |||
165 | .data : AT(__DATA_ROM) | ||
166 | { | ||
167 | . = ALIGN(4); | ||
168 | __DATA_RAM = .; | ||
169 | __data_start__ = .; /* create a global symbol at data start */ | ||
170 | *(.ramfunc*) /* for functions in ram */ | ||
171 | *(.data) /* .data sections */ | ||
172 | *(.data*) /* .data* sections */ | ||
173 | KEEP(*(.jcr*)) | ||
174 | . = ALIGN(4); | ||
175 | __data_end__ = .; /* define a global symbol at data end */ | ||
176 | } > m_data | ||
177 | |||
178 | __DATA_END = __DATA_ROM + (__data_end__ - __data_start__); | ||
179 | text_end = ORIGIN(m_text) + LENGTH(m_text); | ||
180 | ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data") | ||
181 | |||
182 | /* Uninitialized data section */ | ||
183 | .bss : | ||
184 | { | ||
185 | /* This is used by the startup in order to initialize the .bss section */ | ||
186 | . = ALIGN(4); | ||
187 | __START_BSS = .; | ||
188 | __bss_start__ = .; | ||
189 | *(.bss) | ||
190 | *(.bss*) | ||
191 | *(COMMON) | ||
192 | . = ALIGN(4); | ||
193 | __bss_end__ = .; | ||
194 | __END_BSS = .; | ||
195 | } > m_data | ||
196 | |||
197 | .heap : | ||
198 | { | ||
199 | . = ALIGN(8); | ||
200 | __end__ = .; | ||
201 | PROVIDE(end = .); | ||
202 | __HeapBase = .; | ||
203 | . += HEAP_SIZE; | ||
204 | __HeapLimit = .; | ||
205 | __heap_limit = .; /* Add for _sbrk */ | ||
206 | } > m_data | ||
207 | |||
208 | .stack : | ||
209 | { | ||
210 | . = ALIGN(8); | ||
211 | . += STACK_SIZE; | ||
212 | } > m_data | ||
213 | |||
214 | m_usb_bdt (NOLOAD) : | ||
215 | { | ||
216 | . = ALIGN(512); | ||
217 | *(m_usb_bdt) | ||
218 | } > m_usb_sram | ||
219 | |||
220 | m_usb_global (NOLOAD) : | ||
221 | { | ||
222 | *(m_usb_global) | ||
223 | } > m_usb_sram | ||
224 | |||
225 | /* Initializes stack on the end of block */ | ||
226 | __StackTop = ORIGIN(m_data) + LENGTH(m_data); | ||
227 | __StackLimit = __StackTop - STACK_SIZE; | ||
228 | PROVIDE(__stack = __StackTop); | ||
229 | |||
230 | .ARM.attributes 0 : { *(.ARM.attributes) } | ||
231 | |||
232 | ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap") | ||
233 | } | ||
234 | |||
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core1_flash.ld b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core1_flash.ld new file mode 100644 index 000000000..5f3002438 --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core1_flash.ld | |||
@@ -0,0 +1,224 @@ | |||
1 | /* | ||
2 | ** ################################################################### | ||
3 | ** Processors: LPC55S69JBD100_cm33_core1 | ||
4 | ** LPC55S69JBD64_cm33_core1 | ||
5 | ** LPC55S69JEV98_cm33_core1 | ||
6 | ** | ||
7 | ** Compiler: GNU C Compiler | ||
8 | ** Reference manual: LPC55S6x/LPC55S2x/LPC552x User manual(UM11126) Rev.1.3 16 May 2019 | ||
9 | ** Version: rev. 1.1, 2019-05-16 | ||
10 | ** Build: b200722 | ||
11 | ** | ||
12 | ** Abstract: | ||
13 | ** Linker file for the GNU C Compiler | ||
14 | ** | ||
15 | ** Copyright 2016 Freescale Semiconductor, Inc. | ||
16 | ** Copyright 2016-2020 NXP | ||
17 | ** All rights reserved. | ||
18 | ** | ||
19 | ** SPDX-License-Identifier: BSD-3-Clause | ||
20 | ** | ||
21 | ** http: www.nxp.com | ||
22 | ** mail: [email protected] | ||
23 | ** | ||
24 | ** ################################################################### | ||
25 | */ | ||
26 | |||
27 | |||
28 | |||
29 | /* Entry Point */ | ||
30 | ENTRY(Reset_Handler) | ||
31 | |||
32 | HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400; | ||
33 | STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0800; | ||
34 | RPMSG_SHMEM_SIZE = DEFINED(__use_shmem__) ? 0x1800 : 0; | ||
35 | |||
36 | /* Specify the memory areas */ | ||
37 | MEMORY | ||
38 | { | ||
39 | m_interrupts (RX) : ORIGIN = 0x00072000, LENGTH = 0x00000200 | ||
40 | m_text (RX) : ORIGIN = 0x00072200, LENGTH = 0x00025E00 | ||
41 | m_data (RW) : ORIGIN = 0x20033000, LENGTH = 0x00011000 | ||
42 | rpmsg_sh_mem (RW) : ORIGIN = 0x20033000 - RPMSG_SHMEM_SIZE, LENGTH = RPMSG_SHMEM_SIZE | ||
43 | m_usb_sram (RW) : ORIGIN = 0x40100000, LENGTH = 0x00004000 | ||
44 | } | ||
45 | |||
46 | /* Define output sections */ | ||
47 | SECTIONS | ||
48 | { | ||
49 | /* NOINIT section for rpmsg_sh_mem */ | ||
50 | .noinit_rpmsg_sh_mem (NOLOAD) : ALIGN(4) | ||
51 | { | ||
52 | __RPMSG_SH_MEM_START__ = .; | ||
53 | *(.noinit.$rpmsg_sh_mem*) | ||
54 | . = ALIGN(4) ; | ||
55 | __RPMSG_SH_MEM_END__ = .; | ||
56 | } > rpmsg_sh_mem | ||
57 | |||
58 | /* The startup code goes first into internal flash */ | ||
59 | .interrupts : | ||
60 | { | ||
61 | . = ALIGN(4); | ||
62 | KEEP(*(.isr_vector)) /* Startup code */ | ||
63 | . = ALIGN(4); | ||
64 | } > m_interrupts | ||
65 | |||
66 | /* The program code and other data goes into internal flash */ | ||
67 | .text : | ||
68 | { | ||
69 | . = ALIGN(4); | ||
70 | *(.text) /* .text sections (code) */ | ||
71 | *(.text*) /* .text* sections (code) */ | ||
72 | *(.rodata) /* .rodata sections (constants, strings, etc.) */ | ||
73 | *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ | ||
74 | *(.glue_7) /* glue arm to thumb code */ | ||
75 | *(.glue_7t) /* glue thumb to arm code */ | ||
76 | *(.eh_frame) | ||
77 | KEEP (*(.init)) | ||
78 | KEEP (*(.fini)) | ||
79 | . = ALIGN(4); | ||
80 | } > m_text | ||
81 | |||
82 | .ARM.extab : | ||
83 | { | ||
84 | *(.ARM.extab* .gnu.linkonce.armextab.*) | ||
85 | } > m_text | ||
86 | |||
87 | .ARM : | ||
88 | { | ||
89 | __exidx_start = .; | ||
90 | *(.ARM.exidx*) | ||
91 | __exidx_end = .; | ||
92 | } > m_text | ||
93 | |||
94 | .ctors : | ||
95 | { | ||
96 | __CTOR_LIST__ = .; | ||
97 | /* gcc uses crtbegin.o to find the start of | ||
98 | the constructors, so we make sure it is | ||
99 | first. Because this is a wildcard, it | ||
100 | doesn't matter if the user does not | ||
101 | actually link against crtbegin.o; the | ||
102 | linker won't look for a file to match a | ||
103 | wildcard. The wildcard also means that it | ||
104 | doesn't matter which directory crtbegin.o | ||
105 | is in. */ | ||
106 | KEEP (*crtbegin.o(.ctors)) | ||
107 | KEEP (*crtbegin?.o(.ctors)) | ||
108 | /* We don't want to include the .ctor section from | ||
109 | from the crtend.o file until after the sorted ctors. | ||
110 | The .ctor section from the crtend file contains the | ||
111 | end of ctors marker and it must be last */ | ||
112 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)) | ||
113 | KEEP (*(SORT(.ctors.*))) | ||
114 | KEEP (*(.ctors)) | ||
115 | __CTOR_END__ = .; | ||
116 | } > m_text | ||
117 | |||
118 | .dtors : | ||
119 | { | ||
120 | __DTOR_LIST__ = .; | ||
121 | KEEP (*crtbegin.o(.dtors)) | ||
122 | KEEP (*crtbegin?.o(.dtors)) | ||
123 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)) | ||
124 | KEEP (*(SORT(.dtors.*))) | ||
125 | KEEP (*(.dtors)) | ||
126 | __DTOR_END__ = .; | ||
127 | } > m_text | ||
128 | |||
129 | .preinit_array : | ||
130 | { | ||
131 | PROVIDE_HIDDEN (__preinit_array_start = .); | ||
132 | KEEP (*(.preinit_array*)) | ||
133 | PROVIDE_HIDDEN (__preinit_array_end = .); | ||
134 | } > m_text | ||
135 | |||
136 | .init_array : | ||
137 | { | ||
138 | PROVIDE_HIDDEN (__init_array_start = .); | ||
139 | KEEP (*(SORT(.init_array.*))) | ||
140 | KEEP (*(.init_array*)) | ||
141 | PROVIDE_HIDDEN (__init_array_end = .); | ||
142 | } > m_text | ||
143 | |||
144 | .fini_array : | ||
145 | { | ||
146 | PROVIDE_HIDDEN (__fini_array_start = .); | ||
147 | KEEP (*(SORT(.fini_array.*))) | ||
148 | KEEP (*(.fini_array*)) | ||
149 | PROVIDE_HIDDEN (__fini_array_end = .); | ||
150 | } > m_text | ||
151 | |||
152 | __etext = .; /* define a global symbol at end of code */ | ||
153 | __DATA_ROM = .; /* Symbol is used by startup for data initialization */ | ||
154 | |||
155 | .data : AT(__DATA_ROM) | ||
156 | { | ||
157 | . = ALIGN(4); | ||
158 | __DATA_RAM = .; | ||
159 | __data_start__ = .; /* create a global symbol at data start */ | ||
160 | *(.ramfunc*) /* for functions in ram */ | ||
161 | *(.data) /* .data sections */ | ||
162 | *(.data*) /* .data* sections */ | ||
163 | KEEP(*(.jcr*)) | ||
164 | . = ALIGN(4); | ||
165 | __data_end__ = .; /* define a global symbol at data end */ | ||
166 | } > m_data | ||
167 | |||
168 | __DATA_END = __DATA_ROM + (__data_end__ - __data_start__); | ||
169 | text_end = ORIGIN(m_text) + LENGTH(m_text); | ||
170 | ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data") | ||
171 | |||
172 | /* Uninitialized data section */ | ||
173 | .bss : | ||
174 | { | ||
175 | /* This is used by the startup in order to initialize the .bss section */ | ||
176 | . = ALIGN(4); | ||
177 | __START_BSS = .; | ||
178 | __bss_start__ = .; | ||
179 | *(.bss) | ||
180 | *(.bss*) | ||
181 | *(COMMON) | ||
182 | . = ALIGN(4); | ||
183 | __bss_end__ = .; | ||
184 | __END_BSS = .; | ||
185 | } > m_data | ||
186 | |||
187 | .heap : | ||
188 | { | ||
189 | . = ALIGN(8); | ||
190 | __end__ = .; | ||
191 | PROVIDE(end = .); | ||
192 | __HeapBase = .; | ||
193 | . += HEAP_SIZE; | ||
194 | __HeapLimit = .; | ||
195 | __heap_limit = .; /* Add for _sbrk */ | ||
196 | } > m_data | ||
197 | |||
198 | .stack : | ||
199 | { | ||
200 | . = ALIGN(8); | ||
201 | . += STACK_SIZE; | ||
202 | } > m_data | ||
203 | |||
204 | m_usb_bdt (NOLOAD) : | ||
205 | { | ||
206 | . = ALIGN(512); | ||
207 | *(m_usb_bdt) | ||
208 | } > m_usb_sram | ||
209 | |||
210 | m_usb_global (NOLOAD) : | ||
211 | { | ||
212 | *(m_usb_global) | ||
213 | } > m_usb_sram | ||
214 | |||
215 | /* Initializes stack on the end of block */ | ||
216 | __StackTop = ORIGIN(m_data) + LENGTH(m_data); | ||
217 | __StackLimit = __StackTop - STACK_SIZE; | ||
218 | PROVIDE(__stack = __StackTop); | ||
219 | |||
220 | .ARM.attributes 0 : { *(.ARM.attributes) } | ||
221 | |||
222 | ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap") | ||
223 | } | ||
224 | |||
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core1_ram.ld b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core1_ram.ld new file mode 100644 index 000000000..2539c1e32 --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core1_ram.ld | |||
@@ -0,0 +1,224 @@ | |||
1 | /* | ||
2 | ** ################################################################### | ||
3 | ** Processors: LPC55S69JBD100_cm33_core1 | ||
4 | ** LPC55S69JBD64_cm33_core1 | ||
5 | ** LPC55S69JEV98_cm33_core1 | ||
6 | ** | ||
7 | ** Compiler: GNU C Compiler | ||
8 | ** Reference manual: LPC55S6x/LPC55S2x/LPC552x User manual(UM11126) Rev.1.3 16 May 2019 | ||
9 | ** Version: rev. 1.1, 2019-05-16 | ||
10 | ** Build: b200722 | ||
11 | ** | ||
12 | ** Abstract: | ||
13 | ** Linker file for the GNU C Compiler | ||
14 | ** | ||
15 | ** Copyright 2016 Freescale Semiconductor, Inc. | ||
16 | ** Copyright 2016-2020 NXP | ||
17 | ** All rights reserved. | ||
18 | ** | ||
19 | ** SPDX-License-Identifier: BSD-3-Clause | ||
20 | ** | ||
21 | ** http: www.nxp.com | ||
22 | ** mail: [email protected] | ||
23 | ** | ||
24 | ** ################################################################### | ||
25 | */ | ||
26 | |||
27 | |||
28 | |||
29 | /* Entry Point */ | ||
30 | ENTRY(Reset_Handler) | ||
31 | |||
32 | HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400; | ||
33 | STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0800; | ||
34 | RPMSG_SHMEM_SIZE = DEFINED(__use_shmem__) ? 0x1800 : 0; | ||
35 | |||
36 | /* Specify the memory areas */ | ||
37 | MEMORY | ||
38 | { | ||
39 | m_interrupts (RX) : ORIGIN = 0x20033000, LENGTH = 0x00000200 | ||
40 | m_text (RX) : ORIGIN = 0x20033200, LENGTH = 0x0000C600 | ||
41 | m_data (RW) : ORIGIN = 0x2003F800, LENGTH = 0x00004800 | ||
42 | rpmsg_sh_mem (RW) : ORIGIN = 0x20033000 - RPMSG_SHMEM_SIZE, LENGTH = RPMSG_SHMEM_SIZE | ||
43 | m_usb_sram (RW) : ORIGIN = 0x40100000, LENGTH = 0x00004000 | ||
44 | } | ||
45 | |||
46 | /* Define output sections */ | ||
47 | SECTIONS | ||
48 | { | ||
49 | /* NOINIT section for rpmsg_sh_mem */ | ||
50 | .noinit_rpmsg_sh_mem (NOLOAD) : ALIGN(4) | ||
51 | { | ||
52 | __RPMSG_SH_MEM_START__ = .; | ||
53 | *(.noinit.$rpmsg_sh_mem*) | ||
54 | . = ALIGN(4) ; | ||
55 | __RPMSG_SH_MEM_END__ = .; | ||
56 | } > rpmsg_sh_mem | ||
57 | |||
58 | /* The startup code goes first into internal flash */ | ||
59 | .interrupts : | ||
60 | { | ||
61 | . = ALIGN(4); | ||
62 | KEEP(*(.isr_vector)) /* Startup code */ | ||
63 | . = ALIGN(4); | ||
64 | } > m_interrupts | ||
65 | |||
66 | /* The program code and other data goes into internal flash */ | ||
67 | .text : | ||
68 | { | ||
69 | . = ALIGN(4); | ||
70 | *(.text) /* .text sections (code) */ | ||
71 | *(.text*) /* .text* sections (code) */ | ||
72 | *(.rodata) /* .rodata sections (constants, strings, etc.) */ | ||
73 | *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ | ||
74 | *(.glue_7) /* glue arm to thumb code */ | ||
75 | *(.glue_7t) /* glue thumb to arm code */ | ||
76 | *(.eh_frame) | ||
77 | KEEP (*(.init)) | ||
78 | KEEP (*(.fini)) | ||
79 | . = ALIGN(4); | ||
80 | } > m_text | ||
81 | |||
82 | .ARM.extab : | ||
83 | { | ||
84 | *(.ARM.extab* .gnu.linkonce.armextab.*) | ||
85 | } > m_text | ||
86 | |||
87 | .ARM : | ||
88 | { | ||
89 | __exidx_start = .; | ||
90 | *(.ARM.exidx*) | ||
91 | __exidx_end = .; | ||
92 | } > m_text | ||
93 | |||
94 | .ctors : | ||
95 | { | ||
96 | __CTOR_LIST__ = .; | ||
97 | /* gcc uses crtbegin.o to find the start of | ||
98 | the constructors, so we make sure it is | ||
99 | first. Because this is a wildcard, it | ||
100 | doesn't matter if the user does not | ||
101 | actually link against crtbegin.o; the | ||
102 | linker won't look for a file to match a | ||
103 | wildcard. The wildcard also means that it | ||
104 | doesn't matter which directory crtbegin.o | ||
105 | is in. */ | ||
106 | KEEP (*crtbegin.o(.ctors)) | ||
107 | KEEP (*crtbegin?.o(.ctors)) | ||
108 | /* We don't want to include the .ctor section from | ||
109 | from the crtend.o file until after the sorted ctors. | ||
110 | The .ctor section from the crtend file contains the | ||
111 | end of ctors marker and it must be last */ | ||
112 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)) | ||
113 | KEEP (*(SORT(.ctors.*))) | ||
114 | KEEP (*(.ctors)) | ||
115 | __CTOR_END__ = .; | ||
116 | } > m_text | ||
117 | |||
118 | .dtors : | ||
119 | { | ||
120 | __DTOR_LIST__ = .; | ||
121 | KEEP (*crtbegin.o(.dtors)) | ||
122 | KEEP (*crtbegin?.o(.dtors)) | ||
123 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)) | ||
124 | KEEP (*(SORT(.dtors.*))) | ||
125 | KEEP (*(.dtors)) | ||
126 | __DTOR_END__ = .; | ||
127 | } > m_text | ||
128 | |||
129 | .preinit_array : | ||
130 | { | ||
131 | PROVIDE_HIDDEN (__preinit_array_start = .); | ||
132 | KEEP (*(.preinit_array*)) | ||
133 | PROVIDE_HIDDEN (__preinit_array_end = .); | ||
134 | } > m_text | ||
135 | |||
136 | .init_array : | ||
137 | { | ||
138 | PROVIDE_HIDDEN (__init_array_start = .); | ||
139 | KEEP (*(SORT(.init_array.*))) | ||
140 | KEEP (*(.init_array*)) | ||
141 | PROVIDE_HIDDEN (__init_array_end = .); | ||
142 | } > m_text | ||
143 | |||
144 | .fini_array : | ||
145 | { | ||
146 | PROVIDE_HIDDEN (__fini_array_start = .); | ||
147 | KEEP (*(SORT(.fini_array.*))) | ||
148 | KEEP (*(.fini_array*)) | ||
149 | PROVIDE_HIDDEN (__fini_array_end = .); | ||
150 | } > m_text | ||
151 | |||
152 | __etext = .; /* define a global symbol at end of code */ | ||
153 | __DATA_ROM = .; /* Symbol is used by startup for data initialization */ | ||
154 | |||
155 | .data : AT(__DATA_ROM) | ||
156 | { | ||
157 | . = ALIGN(4); | ||
158 | __DATA_RAM = .; | ||
159 | __data_start__ = .; /* create a global symbol at data start */ | ||
160 | *(.ramfunc*) /* for functions in ram */ | ||
161 | *(.data) /* .data sections */ | ||
162 | *(.data*) /* .data* sections */ | ||
163 | KEEP(*(.jcr*)) | ||
164 | . = ALIGN(4); | ||
165 | __data_end__ = .; /* define a global symbol at data end */ | ||
166 | } > m_data | ||
167 | |||
168 | __DATA_END = __DATA_ROM + (__data_end__ - __data_start__); | ||
169 | text_end = ORIGIN(m_text) + LENGTH(m_text); | ||
170 | ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data") | ||
171 | |||
172 | /* Uninitialized data section */ | ||
173 | .bss : | ||
174 | { | ||
175 | /* This is used by the startup in order to initialize the .bss section */ | ||
176 | . = ALIGN(4); | ||
177 | __START_BSS = .; | ||
178 | __bss_start__ = .; | ||
179 | *(.bss) | ||
180 | *(.bss*) | ||
181 | *(COMMON) | ||
182 | . = ALIGN(4); | ||
183 | __bss_end__ = .; | ||
184 | __END_BSS = .; | ||
185 | } > m_data | ||
186 | |||
187 | .heap : | ||
188 | { | ||
189 | . = ALIGN(8); | ||
190 | __end__ = .; | ||
191 | PROVIDE(end = .); | ||
192 | __HeapBase = .; | ||
193 | . += HEAP_SIZE; | ||
194 | __HeapLimit = .; | ||
195 | __heap_limit = .; /* Add for _sbrk */ | ||
196 | } > m_data | ||
197 | |||
198 | .stack : | ||
199 | { | ||
200 | . = ALIGN(8); | ||
201 | . += STACK_SIZE; | ||
202 | } > m_data | ||
203 | |||
204 | m_usb_bdt (NOLOAD) : | ||
205 | { | ||
206 | . = ALIGN(512); | ||
207 | *(m_usb_bdt) | ||
208 | } > m_usb_sram | ||
209 | |||
210 | m_usb_global (NOLOAD) : | ||
211 | { | ||
212 | *(m_usb_global) | ||
213 | } > m_usb_sram | ||
214 | |||
215 | /* Initializes stack on the end of block */ | ||
216 | __StackTop = ORIGIN(m_data) + LENGTH(m_data); | ||
217 | __StackLimit = __StackTop - STACK_SIZE; | ||
218 | PROVIDE(__stack = __StackTop); | ||
219 | |||
220 | .ARM.attributes 0 : { *(.ARM.attributes) } | ||
221 | |||
222 | ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap") | ||
223 | } | ||
224 | |||
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core1_ram_s.ld b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core1_ram_s.ld new file mode 100644 index 000000000..8efdda236 --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/LPC55S69_cm33_core1_ram_s.ld | |||
@@ -0,0 +1,224 @@ | |||
1 | /* | ||
2 | ** ################################################################### | ||
3 | ** Processors: LPC55S69JBD100_cm33_core1 | ||
4 | ** LPC55S69JBD64_cm33_core1 | ||
5 | ** LPC55S69JEV98_cm33_core1 | ||
6 | ** | ||
7 | ** Compiler: GNU C Compiler | ||
8 | ** Reference manual: LPC55S6x/LPC55S2x/LPC552x User manual(UM11126) Rev.1.3 16 May 2019 | ||
9 | ** Version: rev. 1.1, 2019-05-16 | ||
10 | ** Build: b190926 | ||
11 | ** | ||
12 | ** Abstract: | ||
13 | ** Linker file for the GNU C Compiler | ||
14 | ** | ||
15 | ** Copyright 2016 Freescale Semiconductor, Inc. | ||
16 | ** Copyright 2016-2019 NXP | ||
17 | ** All rights reserved. | ||
18 | ** | ||
19 | ** SPDX-License-Identifier: BSD-3-Clause | ||
20 | ** | ||
21 | ** http: www.nxp.com | ||
22 | ** mail: [email protected] | ||
23 | ** | ||
24 | ** ################################################################### | ||
25 | */ | ||
26 | |||
27 | |||
28 | |||
29 | /* Entry Point */ | ||
30 | ENTRY(Reset_Handler) | ||
31 | |||
32 | HEAP_SIZE = DEFINED(__heap_size__) ? __heap_size__ : 0x0400; | ||
33 | STACK_SIZE = DEFINED(__stack_size__) ? __stack_size__ : 0x0800; | ||
34 | RPMSG_SHMEM_SIZE = DEFINED(__use_shmem__) ? 0x1800 : 0; | ||
35 | |||
36 | /* Specify the memory areas */ | ||
37 | MEMORY | ||
38 | { | ||
39 | m_interrupts (RX) : ORIGIN = 0x30033000, LENGTH = 0x00000200 | ||
40 | m_text (RX) : ORIGIN = 0x30033200, LENGTH = 0x0000C600 | ||
41 | m_data (RW) : ORIGIN = 0x3003F800, LENGTH = 0x00004800 | ||
42 | rpmsg_sh_mem (RW) : ORIGIN = 0x30033000 - RPMSG_SHMEM_SIZE, LENGTH = RPMSG_SHMEM_SIZE | ||
43 | m_usb_sram (RW) : ORIGIN = 0x50100000, LENGTH = 0x00004000 | ||
44 | } | ||
45 | |||
46 | /* Define output sections */ | ||
47 | SECTIONS | ||
48 | { | ||
49 | /* NOINIT section for rpmsg_sh_mem */ | ||
50 | .noinit_rpmsg_sh_mem (NOLOAD) : ALIGN(4) | ||
51 | { | ||
52 | __RPMSG_SH_MEM_START__ = .; | ||
53 | *(.noinit.$rpmsg_sh_mem*) | ||
54 | . = ALIGN(4) ; | ||
55 | __RPMSG_SH_MEM_END__ = .; | ||
56 | } > rpmsg_sh_mem | ||
57 | |||
58 | /* The startup code goes first into internal flash */ | ||
59 | .interrupts : | ||
60 | { | ||
61 | . = ALIGN(4); | ||
62 | KEEP(*(.isr_vector)) /* Startup code */ | ||
63 | . = ALIGN(4); | ||
64 | } > m_interrupts | ||
65 | |||
66 | /* The program code and other data goes into internal flash */ | ||
67 | .text : | ||
68 | { | ||
69 | . = ALIGN(4); | ||
70 | *(.text) /* .text sections (code) */ | ||
71 | *(.text*) /* .text* sections (code) */ | ||
72 | *(.rodata) /* .rodata sections (constants, strings, etc.) */ | ||
73 | *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ | ||
74 | *(.glue_7) /* glue arm to thumb code */ | ||
75 | *(.glue_7t) /* glue thumb to arm code */ | ||
76 | *(.eh_frame) | ||
77 | KEEP (*(.init)) | ||
78 | KEEP (*(.fini)) | ||
79 | . = ALIGN(4); | ||
80 | } > m_text | ||
81 | |||
82 | .ARM.extab : | ||
83 | { | ||
84 | *(.ARM.extab* .gnu.linkonce.armextab.*) | ||
85 | } > m_text | ||
86 | |||
87 | .ARM : | ||
88 | { | ||
89 | __exidx_start = .; | ||
90 | *(.ARM.exidx*) | ||
91 | __exidx_end = .; | ||
92 | } > m_text | ||
93 | |||
94 | .ctors : | ||
95 | { | ||
96 | __CTOR_LIST__ = .; | ||
97 | /* gcc uses crtbegin.o to find the start of | ||
98 | the constructors, so we make sure it is | ||
99 | first. Because this is a wildcard, it | ||
100 | doesn't matter if the user does not | ||
101 | actually link against crtbegin.o; the | ||
102 | linker won't look for a file to match a | ||
103 | wildcard. The wildcard also means that it | ||
104 | doesn't matter which directory crtbegin.o | ||
105 | is in. */ | ||
106 | KEEP (*crtbegin.o(.ctors)) | ||
107 | KEEP (*crtbegin?.o(.ctors)) | ||
108 | /* We don't want to include the .ctor section from | ||
109 | from the crtend.o file until after the sorted ctors. | ||
110 | The .ctor section from the crtend file contains the | ||
111 | end of ctors marker and it must be last */ | ||
112 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)) | ||
113 | KEEP (*(SORT(.ctors.*))) | ||
114 | KEEP (*(.ctors)) | ||
115 | __CTOR_END__ = .; | ||
116 | } > m_text | ||
117 | |||
118 | .dtors : | ||
119 | { | ||
120 | __DTOR_LIST__ = .; | ||
121 | KEEP (*crtbegin.o(.dtors)) | ||
122 | KEEP (*crtbegin?.o(.dtors)) | ||
123 | KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)) | ||
124 | KEEP (*(SORT(.dtors.*))) | ||
125 | KEEP (*(.dtors)) | ||
126 | __DTOR_END__ = .; | ||
127 | } > m_text | ||
128 | |||
129 | .preinit_array : | ||
130 | { | ||
131 | PROVIDE_HIDDEN (__preinit_array_start = .); | ||
132 | KEEP (*(.preinit_array*)) | ||
133 | PROVIDE_HIDDEN (__preinit_array_end = .); | ||
134 | } > m_text | ||
135 | |||
136 | .init_array : | ||
137 | { | ||
138 | PROVIDE_HIDDEN (__init_array_start = .); | ||
139 | KEEP (*(SORT(.init_array.*))) | ||
140 | KEEP (*(.init_array*)) | ||
141 | PROVIDE_HIDDEN (__init_array_end = .); | ||
142 | } > m_text | ||
143 | |||
144 | .fini_array : | ||
145 | { | ||
146 | PROVIDE_HIDDEN (__fini_array_start = .); | ||
147 | KEEP (*(SORT(.fini_array.*))) | ||
148 | KEEP (*(.fini_array*)) | ||
149 | PROVIDE_HIDDEN (__fini_array_end = .); | ||
150 | } > m_text | ||
151 | |||
152 | __etext = .; /* define a global symbol at end of code */ | ||
153 | __DATA_ROM = .; /* Symbol is used by startup for data initialization */ | ||
154 | |||
155 | .data : AT(__DATA_ROM) | ||
156 | { | ||
157 | . = ALIGN(4); | ||
158 | __DATA_RAM = .; | ||
159 | __data_start__ = .; /* create a global symbol at data start */ | ||
160 | *(.ramfunc*) /* for functions in ram */ | ||
161 | *(.data) /* .data sections */ | ||
162 | *(.data*) /* .data* sections */ | ||
163 | KEEP(*(.jcr*)) | ||
164 | . = ALIGN(4); | ||
165 | __data_end__ = .; /* define a global symbol at data end */ | ||
166 | } > m_data | ||
167 | |||
168 | __DATA_END = __DATA_ROM + (__data_end__ - __data_start__); | ||
169 | text_end = ORIGIN(m_text) + LENGTH(m_text); | ||
170 | ASSERT(__DATA_END <= text_end, "region m_text overflowed with text and data") | ||
171 | |||
172 | /* Uninitialized data section */ | ||
173 | .bss : | ||
174 | { | ||
175 | /* This is used by the startup in order to initialize the .bss section */ | ||
176 | . = ALIGN(4); | ||
177 | __START_BSS = .; | ||
178 | __bss_start__ = .; | ||
179 | *(.bss) | ||
180 | *(.bss*) | ||
181 | *(COMMON) | ||
182 | . = ALIGN(4); | ||
183 | __bss_end__ = .; | ||
184 | __END_BSS = .; | ||
185 | } > m_data | ||
186 | |||
187 | .heap : | ||
188 | { | ||
189 | . = ALIGN(8); | ||
190 | __end__ = .; | ||
191 | PROVIDE(end = .); | ||
192 | __HeapBase = .; | ||
193 | . += HEAP_SIZE; | ||
194 | __HeapLimit = .; | ||
195 | __heap_limit = .; /* Add for _sbrk */ | ||
196 | } > m_data | ||
197 | |||
198 | .stack : | ||
199 | { | ||
200 | . = ALIGN(8); | ||
201 | . += STACK_SIZE; | ||
202 | } > m_data | ||
203 | |||
204 | m_usb_bdt (NOLOAD) : | ||
205 | { | ||
206 | . = ALIGN(512); | ||
207 | *(m_usb_bdt) | ||
208 | } > m_usb_sram | ||
209 | |||
210 | m_usb_global (NOLOAD) : | ||
211 | { | ||
212 | *(m_usb_global) | ||
213 | } > m_usb_sram | ||
214 | |||
215 | /* Initializes stack on the end of block */ | ||
216 | __StackTop = ORIGIN(m_data) + LENGTH(m_data); | ||
217 | __StackLimit = __StackTop - STACK_SIZE; | ||
218 | PROVIDE(__stack = __StackTop); | ||
219 | |||
220 | .ARM.attributes 0 : { *(.ARM.attributes) } | ||
221 | |||
222 | ASSERT(__StackLimit >= __HeapLimit, "region m_data overflowed with stack and heap") | ||
223 | } | ||
224 | |||
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_hardabi.a b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_hardabi.a new file mode 100644 index 000000000..92d25dfc5 --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_hardabi.a | |||
Binary files differ | |||
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_hardabi_s.a b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_hardabi_s.a new file mode 100644 index 000000000..b0adb7d3e --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_hardabi_s.a | |||
Binary files differ | |||
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_soft.a b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_soft.a new file mode 100644 index 000000000..a0a81e830 --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_soft.a | |||
Binary files differ | |||
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_softabi.a b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_softabi.a new file mode 100644 index 000000000..7df8627e6 --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_softabi.a | |||
Binary files differ | |||
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_softabi_s.a b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_softabi_s.a new file mode 100644 index 000000000..79b7e6e61 --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/libpower_softabi_s.a | |||
Binary files differ | |||
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/startup_LPC55S69_cm33_core0.S b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/startup_LPC55S69_cm33_core0.S new file mode 100644 index 000000000..f9a5b019d --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/startup_LPC55S69_cm33_core0.S | |||
@@ -0,0 +1,875 @@ | |||
1 | /* --------------------------------------------------------------------------*/ | ||
2 | /* @file: startup_LPC55S69_cm33_core0.s */ | ||
3 | /* @purpose: CMSIS Cortex-M33 Core Device Startup File */ | ||
4 | /* LPC55S69_cm33_core0 */ | ||
5 | /* @version: 1.1 */ | ||
6 | /* @date: 2019-5-16 */ | ||
7 | /* --------------------------------------------------------------------------*/ | ||
8 | /* */ | ||
9 | /* Copyright 1997-2016 Freescale Semiconductor, Inc. */ | ||
10 | /* Copyright 2016-2019 NXP */ | ||
11 | /* All rights reserved. */ | ||
12 | /* */ | ||
13 | /* SPDX-License-Identifier: BSD-3-Clause */ | ||
14 | /*****************************************************************************/ | ||
15 | /* Version: GCC for ARM Embedded Processors */ | ||
16 | /*****************************************************************************/ | ||
17 | |||
18 | |||
19 | .syntax unified | ||
20 | .arch armv8-m.main | ||
21 | |||
22 | .section .isr_vector, "a" | ||
23 | .align 2 | ||
24 | .globl __Vectors | ||
25 | __Vectors: | ||
26 | .long __StackTop /* Top of Stack */ | ||
27 | .long Reset_Handler /* Reset Handler */ | ||
28 | .long NMI_Handler /* NMI Handler*/ | ||
29 | .long HardFault_Handler /* Hard Fault Handler*/ | ||
30 | .long MemManage_Handler /* MPU Fault Handler*/ | ||
31 | .long BusFault_Handler /* Bus Fault Handler*/ | ||
32 | .long UsageFault_Handler /* Usage Fault Handler*/ | ||
33 | .long SecureFault_Handler /* Secure Fault Handler*/ | ||
34 | .long 0 /* Reserved*/ | ||
35 | .long 0 /* Reserved*/ | ||
36 | .long 0 /* Reserved*/ | ||
37 | .long SVC_Handler /* SVCall Handler*/ | ||
38 | .long DebugMon_Handler /* Debug Monitor Handler*/ | ||
39 | .long 0 /* Reserved*/ | ||
40 | .long PendSV_Handler /* PendSV Handler*/ | ||
41 | .long SysTick_Handler /* SysTick Handler*/ | ||
42 | |||
43 | /* External Interrupts */ | ||
44 | .long WDT_BOD_IRQHandler /* Windowed watchdog timer, Brownout detect, Flash interrupt */ | ||
45 | .long DMA0_IRQHandler /* DMA0 controller */ | ||
46 | .long GINT0_IRQHandler /* GPIO group 0 */ | ||
47 | .long GINT1_IRQHandler /* GPIO group 1 */ | ||
48 | .long PIN_INT0_IRQHandler /* Pin interrupt 0 or pattern match engine slice 0 */ | ||
49 | .long PIN_INT1_IRQHandler /* Pin interrupt 1or pattern match engine slice 1 */ | ||
50 | .long PIN_INT2_IRQHandler /* Pin interrupt 2 or pattern match engine slice 2 */ | ||
51 | .long PIN_INT3_IRQHandler /* Pin interrupt 3 or pattern match engine slice 3 */ | ||
52 | .long UTICK0_IRQHandler /* Micro-tick Timer */ | ||
53 | .long MRT0_IRQHandler /* Multi-rate timer */ | ||
54 | .long CTIMER0_IRQHandler /* Standard counter/timer CTIMER0 */ | ||
55 | .long CTIMER1_IRQHandler /* Standard counter/timer CTIMER1 */ | ||
56 | .long SCT0_IRQHandler /* SCTimer/PWM */ | ||
57 | .long CTIMER3_IRQHandler /* Standard counter/timer CTIMER3 */ | ||
58 | .long FLEXCOMM0_IRQHandler /* Flexcomm Interface 0 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
59 | .long FLEXCOMM1_IRQHandler /* Flexcomm Interface 1 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
60 | .long FLEXCOMM2_IRQHandler /* Flexcomm Interface 2 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
61 | .long FLEXCOMM3_IRQHandler /* Flexcomm Interface 3 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
62 | .long FLEXCOMM4_IRQHandler /* Flexcomm Interface 4 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
63 | .long FLEXCOMM5_IRQHandler /* Flexcomm Interface 5 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
64 | .long FLEXCOMM6_IRQHandler /* Flexcomm Interface 6 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
65 | .long FLEXCOMM7_IRQHandler /* Flexcomm Interface 7 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
66 | .long ADC0_IRQHandler /* ADC0 */ | ||
67 | .long Reserved39_IRQHandler /* Reserved interrupt */ | ||
68 | .long ACMP_IRQHandler /* ACMP interrupts */ | ||
69 | .long Reserved41_IRQHandler /* Reserved interrupt */ | ||
70 | .long Reserved42_IRQHandler /* Reserved interrupt */ | ||
71 | .long USB0_NEEDCLK_IRQHandler /* USB Activity Wake-up Interrupt */ | ||
72 | .long USB0_IRQHandler /* USB device */ | ||
73 | .long RTC_IRQHandler /* RTC alarm and wake-up interrupts */ | ||
74 | .long Reserved46_IRQHandler /* Reserved interrupt */ | ||
75 | .long MAILBOX_IRQHandler /* WAKEUP,Mailbox interrupt (present on selected devices) */ | ||
76 | .long PIN_INT4_IRQHandler /* Pin interrupt 4 or pattern match engine slice 4 int */ | ||
77 | .long PIN_INT5_IRQHandler /* Pin interrupt 5 or pattern match engine slice 5 int */ | ||
78 | .long PIN_INT6_IRQHandler /* Pin interrupt 6 or pattern match engine slice 6 int */ | ||
79 | .long PIN_INT7_IRQHandler /* Pin interrupt 7 or pattern match engine slice 7 int */ | ||
80 | .long CTIMER2_IRQHandler /* Standard counter/timer CTIMER2 */ | ||
81 | .long CTIMER4_IRQHandler /* Standard counter/timer CTIMER4 */ | ||
82 | .long OS_EVENT_IRQHandler /* OSEVTIMER0 and OSEVTIMER0_WAKEUP interrupts */ | ||
83 | .long Reserved55_IRQHandler /* Reserved interrupt */ | ||
84 | .long Reserved56_IRQHandler /* Reserved interrupt */ | ||
85 | .long Reserved57_IRQHandler /* Reserved interrupt */ | ||
86 | .long SDIO_IRQHandler /* SD/MMC */ | ||
87 | .long Reserved59_IRQHandler /* Reserved interrupt */ | ||
88 | .long Reserved60_IRQHandler /* Reserved interrupt */ | ||
89 | .long Reserved61_IRQHandler /* Reserved interrupt */ | ||
90 | .long USB1_PHY_IRQHandler /* USB1_PHY */ | ||
91 | .long USB1_IRQHandler /* USB1 interrupt */ | ||
92 | .long USB1_NEEDCLK_IRQHandler /* USB1 activity */ | ||
93 | .long SEC_HYPERVISOR_CALL_IRQHandler /* SEC_HYPERVISOR_CALL interrupt */ | ||
94 | .long SEC_GPIO_INT0_IRQ0_IRQHandler /* SEC_GPIO_INT0_IRQ0 interrupt */ | ||
95 | .long SEC_GPIO_INT0_IRQ1_IRQHandler /* SEC_GPIO_INT0_IRQ1 interrupt */ | ||
96 | .long PLU_IRQHandler /* PLU interrupt */ | ||
97 | .long SEC_VIO_IRQHandler /* SEC_VIO interrupt */ | ||
98 | .long HASHCRYPT_IRQHandler /* HASHCRYPT interrupt */ | ||
99 | .long CASER_IRQHandler /* CASPER interrupt */ | ||
100 | .long PUF_IRQHandler /* PUF interrupt */ | ||
101 | .long PQ_IRQHandler /* PQ interrupt */ | ||
102 | .long DMA1_IRQHandler /* DMA1 interrupt */ | ||
103 | .long FLEXCOMM8_IRQHandler /* Flexcomm Interface 8 (SPI, , FLEXCOMM) */ | ||
104 | |||
105 | .size __Vectors, . - __Vectors | ||
106 | |||
107 | .text | ||
108 | .thumb | ||
109 | |||
110 | /* Reset Handler */ | ||
111 | .thumb_func | ||
112 | .align 2 | ||
113 | .globl Reset_Handler | ||
114 | .weak Reset_Handler | ||
115 | .type Reset_Handler, %function | ||
116 | Reset_Handler: | ||
117 | #ifndef __NO_SYSTEM_INIT | ||
118 | ldr r0,=SystemInit | ||
119 | blx r0 | ||
120 | #endif | ||
121 | /* Loop to copy data from read only memory to RAM. The ranges | ||
122 | * of copy from/to are specified by following symbols evaluated in | ||
123 | * linker script. | ||
124 | * __etext: End of code section, i.e., begin of data sections to copy from. | ||
125 | * __data_start__/__data_end__: RAM address range that data should be | ||
126 | * copied to. Both must be aligned to 4 bytes boundary. */ | ||
127 | |||
128 | ldr r1, =__etext | ||
129 | ldr r2, =__data_start__ | ||
130 | ldr r3, =__data_end__ | ||
131 | |||
132 | #if 1 | ||
133 | /* Here are two copies of loop implemenations. First one favors code size | ||
134 | * and the second one favors performance. Default uses the first one. | ||
135 | * Change to "#if 0" to use the second one */ | ||
136 | .LC0: | ||
137 | cmp r2, r3 | ||
138 | ittt lt | ||
139 | ldrlt r0, [r1], #4 | ||
140 | strlt r0, [r2], #4 | ||
141 | blt .LC0 | ||
142 | #else | ||
143 | subs r3, r2 | ||
144 | ble .LC1 | ||
145 | .LC0: | ||
146 | subs r3, #4 | ||
147 | ldr r0, [r1, r3] | ||
148 | str r0, [r2, r3] | ||
149 | bgt .LC0 | ||
150 | .LC1: | ||
151 | #endif | ||
152 | |||
153 | #ifdef __STARTUP_CLEAR_BSS | ||
154 | /* This part of work usually is done in C library startup code. Otherwise, | ||
155 | * define this macro to enable it in this startup. | ||
156 | * | ||
157 | * Loop to zero out BSS section, which uses following symbols | ||
158 | * in linker script: | ||
159 | * __bss_start__: start of BSS section. Must align to 4 | ||
160 | * __bss_end__: end of BSS section. Must align to 4 | ||
161 | */ | ||
162 | ldr r1, =__bss_start__ | ||
163 | ldr r2, =__bss_end__ | ||
164 | |||
165 | movs r0, 0 | ||
166 | .LC2: | ||
167 | cmp r1, r2 | ||
168 | itt lt | ||
169 | strlt r0, [r1], #4 | ||
170 | blt .LC2 | ||
171 | #endif /* __STARTUP_CLEAR_BSS */ | ||
172 | |||
173 | /* Add stack / heap initializaiton */ | ||
174 | movs r0, 0 | ||
175 | ldr r1, =__HeapBase | ||
176 | ldr r2, =__HeapLimit | ||
177 | .LC3: | ||
178 | cmp r1, r2 | ||
179 | itt lt | ||
180 | strlt r0, [r1], #4 | ||
181 | blt .LC3 | ||
182 | |||
183 | ldr r1, =__StackLimit | ||
184 | ldr r2, =__StackTop | ||
185 | .LC4: | ||
186 | cmp r1, r2 | ||
187 | itt lt | ||
188 | strlt r0, [r1], #4 | ||
189 | blt .LC4 | ||
190 | /*End of stack / heap initializaiton */ | ||
191 | cpsie i /* Unmask interrupts */ | ||
192 | |||
193 | #ifndef __START | ||
194 | #define __START _start | ||
195 | #endif | ||
196 | #ifndef __ATOLLIC__ | ||
197 | ldr r0,=__START | ||
198 | blx r0 | ||
199 | #else | ||
200 | ldr r0,=__libc_init_array | ||
201 | blx r0 | ||
202 | ldr r0,=main | ||
203 | bx r0 | ||
204 | #endif | ||
205 | .pool | ||
206 | .size Reset_Handler, . - Reset_Handler | ||
207 | |||
208 | .align 1 | ||
209 | .thumb_func | ||
210 | .weak DefaultISR | ||
211 | .type DefaultISR, %function | ||
212 | DefaultISR: | ||
213 | b DefaultISR | ||
214 | .size DefaultISR, . - DefaultISR | ||
215 | |||
216 | .align 1 | ||
217 | .thumb_func | ||
218 | .weak NMI_Handler | ||
219 | .type NMI_Handler, %function | ||
220 | NMI_Handler: | ||
221 | ldr r0,=NMI_Handler | ||
222 | bx r0 | ||
223 | .size NMI_Handler, . - NMI_Handler | ||
224 | |||
225 | .align 1 | ||
226 | .thumb_func | ||
227 | .weak HardFault_Handler | ||
228 | .type HardFault_Handler, %function | ||
229 | HardFault_Handler: | ||
230 | ldr r0,=HardFault_Handler | ||
231 | bx r0 | ||
232 | .size HardFault_Handler, . - HardFault_Handler | ||
233 | |||
234 | .align 1 | ||
235 | .thumb_func | ||
236 | .weak SVC_Handler | ||
237 | .type SVC_Handler, %function | ||
238 | SVC_Handler: | ||
239 | ldr r0,=SVC_Handler | ||
240 | bx r0 | ||
241 | .size SVC_Handler, . - SVC_Handler | ||
242 | |||
243 | .align 1 | ||
244 | .thumb_func | ||
245 | .weak PendSV_Handler | ||
246 | .type PendSV_Handler, %function | ||
247 | PendSV_Handler: | ||
248 | ldr r0,=PendSV_Handler | ||
249 | bx r0 | ||
250 | .size PendSV_Handler, . - PendSV_Handler | ||
251 | |||
252 | .align 1 | ||
253 | .thumb_func | ||
254 | .weak SysTick_Handler | ||
255 | .type SysTick_Handler, %function | ||
256 | SysTick_Handler: | ||
257 | ldr r0,=SysTick_Handler | ||
258 | bx r0 | ||
259 | .size SysTick_Handler, . - SysTick_Handler | ||
260 | |||
261 | .align 1 | ||
262 | .thumb_func | ||
263 | .weak WDT_BOD_IRQHandler | ||
264 | .type WDT_BOD_IRQHandler, %function | ||
265 | WDT_BOD_IRQHandler: | ||
266 | ldr r0,=WDT_BOD_DriverIRQHandler | ||
267 | bx r0 | ||
268 | .size WDT_BOD_IRQHandler, . - WDT_BOD_IRQHandler | ||
269 | |||
270 | .align 1 | ||
271 | .thumb_func | ||
272 | .weak DMA0_IRQHandler | ||
273 | .type DMA0_IRQHandler, %function | ||
274 | DMA0_IRQHandler: | ||
275 | ldr r0,=DMA0_DriverIRQHandler | ||
276 | bx r0 | ||
277 | .size DMA0_IRQHandler, . - DMA0_IRQHandler | ||
278 | |||
279 | .align 1 | ||
280 | .thumb_func | ||
281 | .weak GINT0_IRQHandler | ||
282 | .type GINT0_IRQHandler, %function | ||
283 | GINT0_IRQHandler: | ||
284 | ldr r0,=GINT0_DriverIRQHandler | ||
285 | bx r0 | ||
286 | .size GINT0_IRQHandler, . - GINT0_IRQHandler | ||
287 | |||
288 | .align 1 | ||
289 | .thumb_func | ||
290 | .weak GINT1_IRQHandler | ||
291 | .type GINT1_IRQHandler, %function | ||
292 | GINT1_IRQHandler: | ||
293 | ldr r0,=GINT1_DriverIRQHandler | ||
294 | bx r0 | ||
295 | .size GINT1_IRQHandler, . - GINT1_IRQHandler | ||
296 | |||
297 | .align 1 | ||
298 | .thumb_func | ||
299 | .weak PIN_INT0_IRQHandler | ||
300 | .type PIN_INT0_IRQHandler, %function | ||
301 | PIN_INT0_IRQHandler: | ||
302 | ldr r0,=PIN_INT0_DriverIRQHandler | ||
303 | bx r0 | ||
304 | .size PIN_INT0_IRQHandler, . - PIN_INT0_IRQHandler | ||
305 | |||
306 | .align 1 | ||
307 | .thumb_func | ||
308 | .weak PIN_INT1_IRQHandler | ||
309 | .type PIN_INT1_IRQHandler, %function | ||
310 | PIN_INT1_IRQHandler: | ||
311 | ldr r0,=PIN_INT1_DriverIRQHandler | ||
312 | bx r0 | ||
313 | .size PIN_INT1_IRQHandler, . - PIN_INT1_IRQHandler | ||
314 | |||
315 | .align 1 | ||
316 | .thumb_func | ||
317 | .weak PIN_INT2_IRQHandler | ||
318 | .type PIN_INT2_IRQHandler, %function | ||
319 | PIN_INT2_IRQHandler: | ||
320 | ldr r0,=PIN_INT2_DriverIRQHandler | ||
321 | bx r0 | ||
322 | .size PIN_INT2_IRQHandler, . - PIN_INT2_IRQHandler | ||
323 | |||
324 | .align 1 | ||
325 | .thumb_func | ||
326 | .weak PIN_INT3_IRQHandler | ||
327 | .type PIN_INT3_IRQHandler, %function | ||
328 | PIN_INT3_IRQHandler: | ||
329 | ldr r0,=PIN_INT3_DriverIRQHandler | ||
330 | bx r0 | ||
331 | .size PIN_INT3_IRQHandler, . - PIN_INT3_IRQHandler | ||
332 | |||
333 | .align 1 | ||
334 | .thumb_func | ||
335 | .weak UTICK0_IRQHandler | ||
336 | .type UTICK0_IRQHandler, %function | ||
337 | UTICK0_IRQHandler: | ||
338 | ldr r0,=UTICK0_DriverIRQHandler | ||
339 | bx r0 | ||
340 | .size UTICK0_IRQHandler, . - UTICK0_IRQHandler | ||
341 | |||
342 | .align 1 | ||
343 | .thumb_func | ||
344 | .weak MRT0_IRQHandler | ||
345 | .type MRT0_IRQHandler, %function | ||
346 | MRT0_IRQHandler: | ||
347 | ldr r0,=MRT0_DriverIRQHandler | ||
348 | bx r0 | ||
349 | .size MRT0_IRQHandler, . - MRT0_IRQHandler | ||
350 | |||
351 | .align 1 | ||
352 | .thumb_func | ||
353 | .weak CTIMER0_IRQHandler | ||
354 | .type CTIMER0_IRQHandler, %function | ||
355 | CTIMER0_IRQHandler: | ||
356 | ldr r0,=CTIMER0_DriverIRQHandler | ||
357 | bx r0 | ||
358 | .size CTIMER0_IRQHandler, . - CTIMER0_IRQHandler | ||
359 | |||
360 | .align 1 | ||
361 | .thumb_func | ||
362 | .weak CTIMER1_IRQHandler | ||
363 | .type CTIMER1_IRQHandler, %function | ||
364 | CTIMER1_IRQHandler: | ||
365 | ldr r0,=CTIMER1_DriverIRQHandler | ||
366 | bx r0 | ||
367 | .size CTIMER1_IRQHandler, . - CTIMER1_IRQHandler | ||
368 | |||
369 | .align 1 | ||
370 | .thumb_func | ||
371 | .weak SCT0_IRQHandler | ||
372 | .type SCT0_IRQHandler, %function | ||
373 | SCT0_IRQHandler: | ||
374 | ldr r0,=SCT0_DriverIRQHandler | ||
375 | bx r0 | ||
376 | .size SCT0_IRQHandler, . - SCT0_IRQHandler | ||
377 | |||
378 | .align 1 | ||
379 | .thumb_func | ||
380 | .weak CTIMER3_IRQHandler | ||
381 | .type CTIMER3_IRQHandler, %function | ||
382 | CTIMER3_IRQHandler: | ||
383 | ldr r0,=CTIMER3_DriverIRQHandler | ||
384 | bx r0 | ||
385 | .size CTIMER3_IRQHandler, . - CTIMER3_IRQHandler | ||
386 | |||
387 | .align 1 | ||
388 | .thumb_func | ||
389 | .weak FLEXCOMM0_IRQHandler | ||
390 | .type FLEXCOMM0_IRQHandler, %function | ||
391 | FLEXCOMM0_IRQHandler: | ||
392 | ldr r0,=FLEXCOMM0_DriverIRQHandler | ||
393 | bx r0 | ||
394 | .size FLEXCOMM0_IRQHandler, . - FLEXCOMM0_IRQHandler | ||
395 | |||
396 | .align 1 | ||
397 | .thumb_func | ||
398 | .weak FLEXCOMM1_IRQHandler | ||
399 | .type FLEXCOMM1_IRQHandler, %function | ||
400 | FLEXCOMM1_IRQHandler: | ||
401 | ldr r0,=FLEXCOMM1_DriverIRQHandler | ||
402 | bx r0 | ||
403 | .size FLEXCOMM1_IRQHandler, . - FLEXCOMM1_IRQHandler | ||
404 | |||
405 | .align 1 | ||
406 | .thumb_func | ||
407 | .weak FLEXCOMM2_IRQHandler | ||
408 | .type FLEXCOMM2_IRQHandler, %function | ||
409 | FLEXCOMM2_IRQHandler: | ||
410 | ldr r0,=FLEXCOMM2_DriverIRQHandler | ||
411 | bx r0 | ||
412 | .size FLEXCOMM2_IRQHandler, . - FLEXCOMM2_IRQHandler | ||
413 | |||
414 | .align 1 | ||
415 | .thumb_func | ||
416 | .weak FLEXCOMM3_IRQHandler | ||
417 | .type FLEXCOMM3_IRQHandler, %function | ||
418 | FLEXCOMM3_IRQHandler: | ||
419 | ldr r0,=FLEXCOMM3_DriverIRQHandler | ||
420 | bx r0 | ||
421 | .size FLEXCOMM3_IRQHandler, . - FLEXCOMM3_IRQHandler | ||
422 | |||
423 | .align 1 | ||
424 | .thumb_func | ||
425 | .weak FLEXCOMM4_IRQHandler | ||
426 | .type FLEXCOMM4_IRQHandler, %function | ||
427 | FLEXCOMM4_IRQHandler: | ||
428 | ldr r0,=FLEXCOMM4_DriverIRQHandler | ||
429 | bx r0 | ||
430 | .size FLEXCOMM4_IRQHandler, . - FLEXCOMM4_IRQHandler | ||
431 | |||
432 | .align 1 | ||
433 | .thumb_func | ||
434 | .weak FLEXCOMM5_IRQHandler | ||
435 | .type FLEXCOMM5_IRQHandler, %function | ||
436 | FLEXCOMM5_IRQHandler: | ||
437 | ldr r0,=FLEXCOMM5_DriverIRQHandler | ||
438 | bx r0 | ||
439 | .size FLEXCOMM5_IRQHandler, . - FLEXCOMM5_IRQHandler | ||
440 | |||
441 | .align 1 | ||
442 | .thumb_func | ||
443 | .weak FLEXCOMM6_IRQHandler | ||
444 | .type FLEXCOMM6_IRQHandler, %function | ||
445 | FLEXCOMM6_IRQHandler: | ||
446 | ldr r0,=FLEXCOMM6_DriverIRQHandler | ||
447 | bx r0 | ||
448 | .size FLEXCOMM6_IRQHandler, . - FLEXCOMM6_IRQHandler | ||
449 | |||
450 | .align 1 | ||
451 | .thumb_func | ||
452 | .weak FLEXCOMM7_IRQHandler | ||
453 | .type FLEXCOMM7_IRQHandler, %function | ||
454 | FLEXCOMM7_IRQHandler: | ||
455 | ldr r0,=FLEXCOMM7_DriverIRQHandler | ||
456 | bx r0 | ||
457 | .size FLEXCOMM7_IRQHandler, . - FLEXCOMM7_IRQHandler | ||
458 | |||
459 | .align 1 | ||
460 | .thumb_func | ||
461 | .weak ADC0_IRQHandler | ||
462 | .type ADC0_IRQHandler, %function | ||
463 | ADC0_IRQHandler: | ||
464 | ldr r0,=ADC0_DriverIRQHandler | ||
465 | bx r0 | ||
466 | .size ADC0_IRQHandler, . - ADC0_IRQHandler | ||
467 | |||
468 | .align 1 | ||
469 | .thumb_func | ||
470 | .weak Reserved39_IRQHandler | ||
471 | .type Reserved39_IRQHandler, %function | ||
472 | Reserved39_IRQHandler: | ||
473 | ldr r0,=Reserved39_DriverIRQHandler | ||
474 | bx r0 | ||
475 | .size Reserved39_IRQHandler, . - Reserved39_IRQHandler | ||
476 | |||
477 | .align 1 | ||
478 | .thumb_func | ||
479 | .weak ACMP_IRQHandler | ||
480 | .type ACMP_IRQHandler, %function | ||
481 | ACMP_IRQHandler: | ||
482 | ldr r0,=ACMP_DriverIRQHandler | ||
483 | bx r0 | ||
484 | .size ACMP_IRQHandler, . - ACMP_IRQHandler | ||
485 | |||
486 | .align 1 | ||
487 | .thumb_func | ||
488 | .weak Reserved41_IRQHandler | ||
489 | .type Reserved41_IRQHandler, %function | ||
490 | Reserved41_IRQHandler: | ||
491 | ldr r0,=Reserved41_DriverIRQHandler | ||
492 | bx r0 | ||
493 | .size Reserved41_IRQHandler, . - Reserved41_IRQHandler | ||
494 | |||
495 | .align 1 | ||
496 | .thumb_func | ||
497 | .weak Reserved42_IRQHandler | ||
498 | .type Reserved42_IRQHandler, %function | ||
499 | Reserved42_IRQHandler: | ||
500 | ldr r0,=Reserved42_DriverIRQHandler | ||
501 | bx r0 | ||
502 | .size Reserved42_IRQHandler, . - Reserved42_IRQHandler | ||
503 | |||
504 | .align 1 | ||
505 | .thumb_func | ||
506 | .weak USB0_NEEDCLK_IRQHandler | ||
507 | .type USB0_NEEDCLK_IRQHandler, %function | ||
508 | USB0_NEEDCLK_IRQHandler: | ||
509 | ldr r0,=USB0_NEEDCLK_DriverIRQHandler | ||
510 | bx r0 | ||
511 | .size USB0_NEEDCLK_IRQHandler, . - USB0_NEEDCLK_IRQHandler | ||
512 | |||
513 | .align 1 | ||
514 | .thumb_func | ||
515 | .weak USB0_IRQHandler | ||
516 | .type USB0_IRQHandler, %function | ||
517 | USB0_IRQHandler: | ||
518 | ldr r0,=USB0_DriverIRQHandler | ||
519 | bx r0 | ||
520 | .size USB0_IRQHandler, . - USB0_IRQHandler | ||
521 | |||
522 | .align 1 | ||
523 | .thumb_func | ||
524 | .weak RTC_IRQHandler | ||
525 | .type RTC_IRQHandler, %function | ||
526 | RTC_IRQHandler: | ||
527 | ldr r0,=RTC_DriverIRQHandler | ||
528 | bx r0 | ||
529 | .size RTC_IRQHandler, . - RTC_IRQHandler | ||
530 | |||
531 | .align 1 | ||
532 | .thumb_func | ||
533 | .weak Reserved46_IRQHandler | ||
534 | .type Reserved46_IRQHandler, %function | ||
535 | Reserved46_IRQHandler: | ||
536 | ldr r0,=Reserved46_DriverIRQHandler | ||
537 | bx r0 | ||
538 | .size Reserved46_IRQHandler, . - Reserved46_IRQHandler | ||
539 | |||
540 | .align 1 | ||
541 | .thumb_func | ||
542 | .weak MAILBOX_IRQHandler | ||
543 | .type MAILBOX_IRQHandler, %function | ||
544 | MAILBOX_IRQHandler: | ||
545 | ldr r0,=MAILBOX_DriverIRQHandler | ||
546 | bx r0 | ||
547 | .size MAILBOX_IRQHandler, . - MAILBOX_IRQHandler | ||
548 | |||
549 | .align 1 | ||
550 | .thumb_func | ||
551 | .weak PIN_INT4_IRQHandler | ||
552 | .type PIN_INT4_IRQHandler, %function | ||
553 | PIN_INT4_IRQHandler: | ||
554 | ldr r0,=PIN_INT4_DriverIRQHandler | ||
555 | bx r0 | ||
556 | .size PIN_INT4_IRQHandler, . - PIN_INT4_IRQHandler | ||
557 | |||
558 | .align 1 | ||
559 | .thumb_func | ||
560 | .weak PIN_INT5_IRQHandler | ||
561 | .type PIN_INT5_IRQHandler, %function | ||
562 | PIN_INT5_IRQHandler: | ||
563 | ldr r0,=PIN_INT5_DriverIRQHandler | ||
564 | bx r0 | ||
565 | .size PIN_INT5_IRQHandler, . - PIN_INT5_IRQHandler | ||
566 | |||
567 | .align 1 | ||
568 | .thumb_func | ||
569 | .weak PIN_INT6_IRQHandler | ||
570 | .type PIN_INT6_IRQHandler, %function | ||
571 | PIN_INT6_IRQHandler: | ||
572 | ldr r0,=PIN_INT6_DriverIRQHandler | ||
573 | bx r0 | ||
574 | .size PIN_INT6_IRQHandler, . - PIN_INT6_IRQHandler | ||
575 | |||
576 | .align 1 | ||
577 | .thumb_func | ||
578 | .weak PIN_INT7_IRQHandler | ||
579 | .type PIN_INT7_IRQHandler, %function | ||
580 | PIN_INT7_IRQHandler: | ||
581 | ldr r0,=PIN_INT7_DriverIRQHandler | ||
582 | bx r0 | ||
583 | .size PIN_INT7_IRQHandler, . - PIN_INT7_IRQHandler | ||
584 | |||
585 | .align 1 | ||
586 | .thumb_func | ||
587 | .weak CTIMER2_IRQHandler | ||
588 | .type CTIMER2_IRQHandler, %function | ||
589 | CTIMER2_IRQHandler: | ||
590 | ldr r0,=CTIMER2_DriverIRQHandler | ||
591 | bx r0 | ||
592 | .size CTIMER2_IRQHandler, . - CTIMER2_IRQHandler | ||
593 | |||
594 | .align 1 | ||
595 | .thumb_func | ||
596 | .weak CTIMER4_IRQHandler | ||
597 | .type CTIMER4_IRQHandler, %function | ||
598 | CTIMER4_IRQHandler: | ||
599 | ldr r0,=CTIMER4_DriverIRQHandler | ||
600 | bx r0 | ||
601 | .size CTIMER4_IRQHandler, . - CTIMER4_IRQHandler | ||
602 | |||
603 | .align 1 | ||
604 | .thumb_func | ||
605 | .weak OS_EVENT_IRQHandler | ||
606 | .type OS_EVENT_IRQHandler, %function | ||
607 | OS_EVENT_IRQHandler: | ||
608 | ldr r0,=OS_EVENT_DriverIRQHandler | ||
609 | bx r0 | ||
610 | .size OS_EVENT_IRQHandler, . - OS_EVENT_IRQHandler | ||
611 | |||
612 | .align 1 | ||
613 | .thumb_func | ||
614 | .weak Reserved55_IRQHandler | ||
615 | .type Reserved55_IRQHandler, %function | ||
616 | Reserved55_IRQHandler: | ||
617 | ldr r0,=Reserved55_DriverIRQHandler | ||
618 | bx r0 | ||
619 | .size Reserved55_IRQHandler, . - Reserved55_IRQHandler | ||
620 | |||
621 | .align 1 | ||
622 | .thumb_func | ||
623 | .weak Reserved56_IRQHandler | ||
624 | .type Reserved56_IRQHandler, %function | ||
625 | Reserved56_IRQHandler: | ||
626 | ldr r0,=Reserved56_DriverIRQHandler | ||
627 | bx r0 | ||
628 | .size Reserved56_IRQHandler, . - Reserved56_IRQHandler | ||
629 | |||
630 | .align 1 | ||
631 | .thumb_func | ||
632 | .weak Reserved57_IRQHandler | ||
633 | .type Reserved57_IRQHandler, %function | ||
634 | Reserved57_IRQHandler: | ||
635 | ldr r0,=Reserved57_DriverIRQHandler | ||
636 | bx r0 | ||
637 | .size Reserved57_IRQHandler, . - Reserved57_IRQHandler | ||
638 | |||
639 | .align 1 | ||
640 | .thumb_func | ||
641 | .weak SDIO_IRQHandler | ||
642 | .type SDIO_IRQHandler, %function | ||
643 | SDIO_IRQHandler: | ||
644 | ldr r0,=SDIO_DriverIRQHandler | ||
645 | bx r0 | ||
646 | .size SDIO_IRQHandler, . - SDIO_IRQHandler | ||
647 | |||
648 | .align 1 | ||
649 | .thumb_func | ||
650 | .weak Reserved59_IRQHandler | ||
651 | .type Reserved59_IRQHandler, %function | ||
652 | Reserved59_IRQHandler: | ||
653 | ldr r0,=Reserved59_DriverIRQHandler | ||
654 | bx r0 | ||
655 | .size Reserved59_IRQHandler, . - Reserved59_IRQHandler | ||
656 | |||
657 | .align 1 | ||
658 | .thumb_func | ||
659 | .weak Reserved60_IRQHandler | ||
660 | .type Reserved60_IRQHandler, %function | ||
661 | Reserved60_IRQHandler: | ||
662 | ldr r0,=Reserved60_DriverIRQHandler | ||
663 | bx r0 | ||
664 | .size Reserved60_IRQHandler, . - Reserved60_IRQHandler | ||
665 | |||
666 | .align 1 | ||
667 | .thumb_func | ||
668 | .weak Reserved61_IRQHandler | ||
669 | .type Reserved61_IRQHandler, %function | ||
670 | Reserved61_IRQHandler: | ||
671 | ldr r0,=Reserved61_DriverIRQHandler | ||
672 | bx r0 | ||
673 | .size Reserved61_IRQHandler, . - Reserved61_IRQHandler | ||
674 | |||
675 | .align 1 | ||
676 | .thumb_func | ||
677 | .weak USB1_PHY_IRQHandler | ||
678 | .type USB1_PHY_IRQHandler, %function | ||
679 | USB1_PHY_IRQHandler: | ||
680 | ldr r0,=USB1_PHY_DriverIRQHandler | ||
681 | bx r0 | ||
682 | .size USB1_PHY_IRQHandler, . - USB1_PHY_IRQHandler | ||
683 | |||
684 | .align 1 | ||
685 | .thumb_func | ||
686 | .weak USB1_IRQHandler | ||
687 | .type USB1_IRQHandler, %function | ||
688 | USB1_IRQHandler: | ||
689 | ldr r0,=USB1_DriverIRQHandler | ||
690 | bx r0 | ||
691 | .size USB1_IRQHandler, . - USB1_IRQHandler | ||
692 | |||
693 | .align 1 | ||
694 | .thumb_func | ||
695 | .weak USB1_NEEDCLK_IRQHandler | ||
696 | .type USB1_NEEDCLK_IRQHandler, %function | ||
697 | USB1_NEEDCLK_IRQHandler: | ||
698 | ldr r0,=USB1_NEEDCLK_DriverIRQHandler | ||
699 | bx r0 | ||
700 | .size USB1_NEEDCLK_IRQHandler, . - USB1_NEEDCLK_IRQHandler | ||
701 | |||
702 | .align 1 | ||
703 | .thumb_func | ||
704 | .weak SEC_HYPERVISOR_CALL_IRQHandler | ||
705 | .type SEC_HYPERVISOR_CALL_IRQHandler, %function | ||
706 | SEC_HYPERVISOR_CALL_IRQHandler: | ||
707 | ldr r0,=SEC_HYPERVISOR_CALL_DriverIRQHandler | ||
708 | bx r0 | ||
709 | .size SEC_HYPERVISOR_CALL_IRQHandler, . - SEC_HYPERVISOR_CALL_IRQHandler | ||
710 | |||
711 | .align 1 | ||
712 | .thumb_func | ||
713 | .weak SEC_GPIO_INT0_IRQ0_IRQHandler | ||
714 | .type SEC_GPIO_INT0_IRQ0_IRQHandler, %function | ||
715 | SEC_GPIO_INT0_IRQ0_IRQHandler: | ||
716 | ldr r0,=SEC_GPIO_INT0_IRQ0_DriverIRQHandler | ||
717 | bx r0 | ||
718 | .size SEC_GPIO_INT0_IRQ0_IRQHandler, . - SEC_GPIO_INT0_IRQ0_IRQHandler | ||
719 | |||
720 | .align 1 | ||
721 | .thumb_func | ||
722 | .weak SEC_GPIO_INT0_IRQ1_IRQHandler | ||
723 | .type SEC_GPIO_INT0_IRQ1_IRQHandler, %function | ||
724 | SEC_GPIO_INT0_IRQ1_IRQHandler: | ||
725 | ldr r0,=SEC_GPIO_INT0_IRQ1_DriverIRQHandler | ||
726 | bx r0 | ||
727 | .size SEC_GPIO_INT0_IRQ1_IRQHandler, . - SEC_GPIO_INT0_IRQ1_IRQHandler | ||
728 | |||
729 | .align 1 | ||
730 | .thumb_func | ||
731 | .weak PLU_IRQHandler | ||
732 | .type PLU_IRQHandler, %function | ||
733 | PLU_IRQHandler: | ||
734 | ldr r0,=PLU_DriverIRQHandler | ||
735 | bx r0 | ||
736 | .size PLU_IRQHandler, . - PLU_IRQHandler | ||
737 | |||
738 | .align 1 | ||
739 | .thumb_func | ||
740 | .weak SEC_VIO_IRQHandler | ||
741 | .type SEC_VIO_IRQHandler, %function | ||
742 | SEC_VIO_IRQHandler: | ||
743 | ldr r0,=SEC_VIO_DriverIRQHandler | ||
744 | bx r0 | ||
745 | .size SEC_VIO_IRQHandler, . - SEC_VIO_IRQHandler | ||
746 | |||
747 | .align 1 | ||
748 | .thumb_func | ||
749 | .weak HASHCRYPT_IRQHandler | ||
750 | .type HASHCRYPT_IRQHandler, %function | ||
751 | HASHCRYPT_IRQHandler: | ||
752 | ldr r0,=HASHCRYPT_DriverIRQHandler | ||
753 | bx r0 | ||
754 | .size HASHCRYPT_IRQHandler, . - HASHCRYPT_IRQHandler | ||
755 | |||
756 | .align 1 | ||
757 | .thumb_func | ||
758 | .weak CASER_IRQHandler | ||
759 | .type CASER_IRQHandler, %function | ||
760 | CASER_IRQHandler: | ||
761 | ldr r0,=CASER_DriverIRQHandler | ||
762 | bx r0 | ||
763 | .size CASER_IRQHandler, . - CASER_IRQHandler | ||
764 | |||
765 | .align 1 | ||
766 | .thumb_func | ||
767 | .weak PUF_IRQHandler | ||
768 | .type PUF_IRQHandler, %function | ||
769 | PUF_IRQHandler: | ||
770 | ldr r0,=PUF_DriverIRQHandler | ||
771 | bx r0 | ||
772 | .size PUF_IRQHandler, . - PUF_IRQHandler | ||
773 | |||
774 | .align 1 | ||
775 | .thumb_func | ||
776 | .weak PQ_IRQHandler | ||
777 | .type PQ_IRQHandler, %function | ||
778 | PQ_IRQHandler: | ||
779 | ldr r0,=PQ_DriverIRQHandler | ||
780 | bx r0 | ||
781 | .size PQ_IRQHandler, . - PQ_IRQHandler | ||
782 | |||
783 | .align 1 | ||
784 | .thumb_func | ||
785 | .weak DMA1_IRQHandler | ||
786 | .type DMA1_IRQHandler, %function | ||
787 | DMA1_IRQHandler: | ||
788 | ldr r0,=DMA1_DriverIRQHandler | ||
789 | bx r0 | ||
790 | .size DMA1_IRQHandler, . - DMA1_IRQHandler | ||
791 | |||
792 | .align 1 | ||
793 | .thumb_func | ||
794 | .weak FLEXCOMM8_IRQHandler | ||
795 | .type FLEXCOMM8_IRQHandler, %function | ||
796 | FLEXCOMM8_IRQHandler: | ||
797 | ldr r0,=FLEXCOMM8_DriverIRQHandler | ||
798 | bx r0 | ||
799 | .size FLEXCOMM8_IRQHandler, . - FLEXCOMM8_IRQHandler | ||
800 | |||
801 | /* Macro to define default handlers. Default handler | ||
802 | * will be weak symbol and just dead loops. They can be | ||
803 | * overwritten by other handlers */ | ||
804 | .macro def_irq_handler handler_name | ||
805 | .weak \handler_name | ||
806 | .set \handler_name, DefaultISR | ||
807 | .endm | ||
808 | /* Exception Handlers */ | ||
809 | def_irq_handler MemManage_Handler | ||
810 | def_irq_handler BusFault_Handler | ||
811 | def_irq_handler UsageFault_Handler | ||
812 | def_irq_handler SecureFault_Handler | ||
813 | def_irq_handler DebugMon_Handler | ||
814 | def_irq_handler WDT_BOD_DriverIRQHandler | ||
815 | def_irq_handler DMA0_DriverIRQHandler | ||
816 | def_irq_handler GINT0_DriverIRQHandler | ||
817 | def_irq_handler GINT1_DriverIRQHandler | ||
818 | def_irq_handler PIN_INT0_DriverIRQHandler | ||
819 | def_irq_handler PIN_INT1_DriverIRQHandler | ||
820 | def_irq_handler PIN_INT2_DriverIRQHandler | ||
821 | def_irq_handler PIN_INT3_DriverIRQHandler | ||
822 | def_irq_handler UTICK0_DriverIRQHandler | ||
823 | def_irq_handler MRT0_DriverIRQHandler | ||
824 | def_irq_handler CTIMER0_DriverIRQHandler | ||
825 | def_irq_handler CTIMER1_DriverIRQHandler | ||
826 | def_irq_handler SCT0_DriverIRQHandler | ||
827 | def_irq_handler CTIMER3_DriverIRQHandler | ||
828 | def_irq_handler FLEXCOMM0_DriverIRQHandler | ||
829 | def_irq_handler FLEXCOMM1_DriverIRQHandler | ||
830 | def_irq_handler FLEXCOMM2_DriverIRQHandler | ||
831 | def_irq_handler FLEXCOMM3_DriverIRQHandler | ||
832 | def_irq_handler FLEXCOMM4_DriverIRQHandler | ||
833 | def_irq_handler FLEXCOMM5_DriverIRQHandler | ||
834 | def_irq_handler FLEXCOMM6_DriverIRQHandler | ||
835 | def_irq_handler FLEXCOMM7_DriverIRQHandler | ||
836 | def_irq_handler ADC0_DriverIRQHandler | ||
837 | def_irq_handler Reserved39_DriverIRQHandler | ||
838 | def_irq_handler ACMP_DriverIRQHandler | ||
839 | def_irq_handler Reserved41_DriverIRQHandler | ||
840 | def_irq_handler Reserved42_DriverIRQHandler | ||
841 | def_irq_handler USB0_NEEDCLK_DriverIRQHandler | ||
842 | def_irq_handler USB0_DriverIRQHandler | ||
843 | def_irq_handler RTC_DriverIRQHandler | ||
844 | def_irq_handler Reserved46_DriverIRQHandler | ||
845 | def_irq_handler MAILBOX_DriverIRQHandler | ||
846 | def_irq_handler PIN_INT4_DriverIRQHandler | ||
847 | def_irq_handler PIN_INT5_DriverIRQHandler | ||
848 | def_irq_handler PIN_INT6_DriverIRQHandler | ||
849 | def_irq_handler PIN_INT7_DriverIRQHandler | ||
850 | def_irq_handler CTIMER2_DriverIRQHandler | ||
851 | def_irq_handler CTIMER4_DriverIRQHandler | ||
852 | def_irq_handler OS_EVENT_DriverIRQHandler | ||
853 | def_irq_handler Reserved55_DriverIRQHandler | ||
854 | def_irq_handler Reserved56_DriverIRQHandler | ||
855 | def_irq_handler Reserved57_DriverIRQHandler | ||
856 | def_irq_handler SDIO_DriverIRQHandler | ||
857 | def_irq_handler Reserved59_DriverIRQHandler | ||
858 | def_irq_handler Reserved60_DriverIRQHandler | ||
859 | def_irq_handler Reserved61_DriverIRQHandler | ||
860 | def_irq_handler USB1_PHY_DriverIRQHandler | ||
861 | def_irq_handler USB1_DriverIRQHandler | ||
862 | def_irq_handler USB1_NEEDCLK_DriverIRQHandler | ||
863 | def_irq_handler SEC_HYPERVISOR_CALL_DriverIRQHandler | ||
864 | def_irq_handler SEC_GPIO_INT0_IRQ0_DriverIRQHandler | ||
865 | def_irq_handler SEC_GPIO_INT0_IRQ1_DriverIRQHandler | ||
866 | def_irq_handler PLU_DriverIRQHandler | ||
867 | def_irq_handler SEC_VIO_DriverIRQHandler | ||
868 | def_irq_handler HASHCRYPT_DriverIRQHandler | ||
869 | def_irq_handler CASER_DriverIRQHandler | ||
870 | def_irq_handler PUF_DriverIRQHandler | ||
871 | def_irq_handler PQ_DriverIRQHandler | ||
872 | def_irq_handler DMA1_DriverIRQHandler | ||
873 | def_irq_handler FLEXCOMM8_DriverIRQHandler | ||
874 | |||
875 | .end | ||
diff --git a/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/startup_LPC55S69_cm33_core1.S b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/startup_LPC55S69_cm33_core1.S new file mode 100644 index 000000000..375866a8d --- /dev/null +++ b/lib/chibios-contrib/ext/mcux-sdk/devices/LPC55S69/gcc/startup_LPC55S69_cm33_core1.S | |||
@@ -0,0 +1,875 @@ | |||
1 | /* --------------------------------------------------------------------------*/ | ||
2 | /* @file: startup_LPC55S69_cm33_core1.s */ | ||
3 | /* @purpose: CMSIS Cortex-M33 Core Device Startup File */ | ||
4 | /* LPC55S69_cm33_core1 */ | ||
5 | /* @version: 1.1 */ | ||
6 | /* @date: 2019-5-16 */ | ||
7 | /* --------------------------------------------------------------------------*/ | ||
8 | /* */ | ||
9 | /* Copyright 1997-2016 Freescale Semiconductor, Inc. */ | ||
10 | /* Copyright 2016-2019 NXP */ | ||
11 | /* All rights reserved. */ | ||
12 | /* */ | ||
13 | /* SPDX-License-Identifier: BSD-3-Clause */ | ||
14 | /*****************************************************************************/ | ||
15 | /* Version: GCC for ARM Embedded Processors */ | ||
16 | /*****************************************************************************/ | ||
17 | |||
18 | |||
19 | .syntax unified | ||
20 | .arch armv8-m.main | ||
21 | |||
22 | .section .isr_vector, "a" | ||
23 | .align 2 | ||
24 | .globl __Vectors | ||
25 | __Vectors: | ||
26 | .long __StackTop /* Top of Stack */ | ||
27 | .long Reset_Handler /* Reset Handler */ | ||
28 | .long NMI_Handler /* NMI Handler*/ | ||
29 | .long HardFault_Handler /* Hard Fault Handler*/ | ||
30 | .long MemManage_Handler /* MPU Fault Handler*/ | ||
31 | .long BusFault_Handler /* Bus Fault Handler*/ | ||
32 | .long UsageFault_Handler /* Usage Fault Handler*/ | ||
33 | .long SecureFault_Handler /* Secure Fault Handler*/ | ||
34 | .long 0 /* Reserved*/ | ||
35 | .long 0 /* Reserved*/ | ||
36 | .long 0 /* Reserved*/ | ||
37 | .long SVC_Handler /* SVCall Handler*/ | ||
38 | .long DebugMon_Handler /* Debug Monitor Handler*/ | ||
39 | .long 0 /* Reserved*/ | ||
40 | .long PendSV_Handler /* PendSV Handler*/ | ||
41 | .long SysTick_Handler /* SysTick Handler*/ | ||
42 | |||
43 | /* External Interrupts */ | ||
44 | .long WDT_BOD_IRQHandler /* Windowed watchdog timer, Brownout detect, Flash interrupt */ | ||
45 | .long DMA0_IRQHandler /* DMA0 controller */ | ||
46 | .long GINT0_IRQHandler /* GPIO group 0 */ | ||
47 | .long GINT1_IRQHandler /* GPIO group 1 */ | ||
48 | .long PIN_INT0_IRQHandler /* Pin interrupt 0 or pattern match engine slice 0 */ | ||
49 | .long PIN_INT1_IRQHandler /* Pin interrupt 1or pattern match engine slice 1 */ | ||
50 | .long PIN_INT2_IRQHandler /* Pin interrupt 2 or pattern match engine slice 2 */ | ||
51 | .long PIN_INT3_IRQHandler /* Pin interrupt 3 or pattern match engine slice 3 */ | ||
52 | .long UTICK0_IRQHandler /* Micro-tick Timer */ | ||
53 | .long MRT0_IRQHandler /* Multi-rate timer */ | ||
54 | .long CTIMER0_IRQHandler /* Standard counter/timer CTIMER0 */ | ||
55 | .long CTIMER1_IRQHandler /* Standard counter/timer CTIMER1 */ | ||
56 | .long SCT0_IRQHandler /* SCTimer/PWM */ | ||
57 | .long CTIMER3_IRQHandler /* Standard counter/timer CTIMER3 */ | ||
58 | .long FLEXCOMM0_IRQHandler /* Flexcomm Interface 0 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
59 | .long FLEXCOMM1_IRQHandler /* Flexcomm Interface 1 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
60 | .long FLEXCOMM2_IRQHandler /* Flexcomm Interface 2 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
61 | .long FLEXCOMM3_IRQHandler /* Flexcomm Interface 3 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
62 | .long FLEXCOMM4_IRQHandler /* Flexcomm Interface 4 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
63 | .long FLEXCOMM5_IRQHandler /* Flexcomm Interface 5 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
64 | .long FLEXCOMM6_IRQHandler /* Flexcomm Interface 6 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
65 | .long FLEXCOMM7_IRQHandler /* Flexcomm Interface 7 (USART, SPI, I2C, I2S, FLEXCOMM) */ | ||
66 | .long ADC0_IRQHandler /* ADC0 */ | ||
67 | .long Reserved39_IRQHandler /* Reserved interrupt */ | ||
68 | .long ACMP_IRQHandler /* ACMP interrupts */ | ||
69 | .long Reserved41_IRQHandler /* Reserved interrupt */ | ||
70 | .long Reserved42_IRQHandler /* Reserved interrupt */ | ||
71 | .long USB0_NEEDCLK_IRQHandler /* USB Activity Wake-up Interrupt */ | ||
72 | .long USB0_IRQHandler /* USB device */ | ||
73 | .long RTC_IRQHandler /* RTC alarm and wake-up interrupts */ | ||
74 | .long Reserved46_IRQHandler /* Reserved interrupt */ | ||
75 | .long MAILBOX_IRQHandler /* WAKEUP,Mailbox interrupt (present on selected devices) */ | ||
76 | .long PIN_INT4_IRQHandler /* Pin interrupt 4 or pattern match engine slice 4 int */ | ||
77 | .long PIN_INT5_IRQHandler /* Pin interrupt 5 or pattern match engine slice 5 int */ | ||
78 | .long PIN_INT6_IRQHandler /* Pin interrupt 6 or pattern match engine slice 6 int */ | ||
79 | .long PIN_INT7_IRQHandler /* Pin interrupt 7 or pattern match engine slice 7 int */ | ||
80 | .long CTIMER2_IRQHandler /* Standard counter/timer CTIMER2 */ | ||
81 | .long CTIMER4_IRQHandler /* Standard counter/timer CTIMER4 */ | ||
82 | .long OS_EVENT_IRQHandler /* OSEVTIMER0 and OSEVTIMER0_WAKEUP interrupts */ | ||
83 | .long Reserved55_IRQHandler /* Reserved interrupt */ | ||
84 | .long Reserved56_IRQHandler /* Reserved interrupt */ | ||
85 | .long Reserved57_IRQHandler /* Reserved interrupt */ | ||
86 | .long SDIO_IRQHandler /* SD/MMC */ | ||
87 | .long Reserved59_IRQHandler /* Reserved interrupt */ | ||
88 | .long Reserved60_IRQHandler /* Reserved interrupt */ | ||
89 | .long Reserved61_IRQHandler /* Reserved interrupt */ | ||
90 | .long USB1_PHY_IRQHandler /* USB1_PHY */ | ||
91 | .long USB1_IRQHandler /* USB1 interrupt */ | ||
92 | .long USB1_NEEDCLK_IRQHandler /* USB1 activity */ | ||
93 | .long SEC_HYPERVISOR_CALL_IRQHandler /* SEC_HYPERVISOR_CALL interrupt */ | ||
94 | .long SEC_GPIO_INT0_IRQ0_IRQHandler /* SEC_GPIO_INT0_IRQ0 interrupt */ | ||
95 | .long SEC_GPIO_INT0_IRQ1_IRQHandler /* SEC_GPIO_INT0_IRQ1 interrupt */ | ||
96 | .long PLU_IRQHandler /* PLU interrupt */ | ||
97 | .long SEC_VIO_IRQHandler /* SEC_VIO interrupt */ | ||
98 | .long HASHCRYPT_IRQHandler /* HASHCRYPT interrupt */ | ||
99 | .long CASER_IRQHandler /* CASPER interrupt */ | ||
100 | .long PUF_IRQHandler /* PUF interrupt */ | ||
101 | .long PQ_IRQHandler /* PQ interrupt */ | ||
102 | .long DMA1_IRQHandler /* DMA1 interrupt */ | ||
103 | .long FLEXCOMM8_IRQHandler /* Flexcomm Interface 8 (SPI, , FLEXCOMM) */ | ||
104 | |||
105 | .size __Vectors, . - __Vectors | ||
106 | |||
107 | .text | ||
108 | .thumb | ||
109 | |||
110 | /* Reset Handler */ | ||
111 | .thumb_func | ||
112 | .align 2 | ||
113 | .globl Reset_Handler | ||
114 | .weak Reset_Handler | ||
115 | .type Reset_Handler, %function | ||
116 | Reset_Handler: | ||
117 | #ifndef __NO_SYSTEM_INIT | ||
118 | ldr r0,=SystemInit | ||
119 | blx r0 | ||
120 | #endif | ||
121 | /* Loop to copy data from read only memory to RAM. The ranges | ||
122 | * of copy from/to are specified by following symbols evaluated in | ||
123 | * linker script. | ||
124 | * __etext: End of code section, i.e., begin of data sections to copy from. | ||
125 | * __data_start__/__data_end__: RAM address range that data should be | ||
126 | * copied to. Both must be aligned to 4 bytes boundary. */ | ||
127 | |||
128 | ldr r1, =__etext | ||
129 | ldr r2, =__data_start__ | ||
130 | ldr r3, =__data_end__ | ||
131 | |||
132 | #if 1 | ||
133 | /* Here are two copies of loop implemenations. First one favors code size | ||
134 | * and the second one favors performance. Default uses the first one. | ||
135 | * Change to "#if 0" to use the second one */ | ||
136 | .LC0: | ||
137 | cmp r2, r3 | ||
138 | ittt lt | ||
139 | ldrlt r0, [r1], #4 | ||
140 | strlt r0, [r2], #4 | ||
141 | blt .LC0 | ||
142 | #else | ||
143 | subs r3, r2 | ||
144 | ble .LC1 | ||
145 | .LC0: | ||
146 | subs r3, #4 | ||
147 | ldr r0, [r1, r3] | ||
148 | str r0, [r2, r3] | ||
149 | bgt .LC0 | ||
150 | .LC1: | ||
151 | #endif | ||
152 | |||
153 | #ifdef __STARTUP_CLEAR_BSS | ||
154 | /* This part of work usually is done in C library startup code. Otherwise, | ||
155 | * define this macro to enable it in this startup. | ||
156 | * | ||
157 | * Loop to zero out BSS section, which uses following symbols | ||
158 | * in linker script: | ||
159 | * __bss_start__: start of BSS section. Must align to 4 | ||
160 | * __bss_end__: end of BSS section. Must align to 4 | ||
161 | */ | ||
162 | ldr r1, =__bss_start__ | ||
163 | ldr r2, =__bss_end__ | ||
164 | |||
165 | movs r0, 0 | ||
166 | .LC2: | ||
167 | cmp r1, r2 | ||
168 | itt lt | ||
169 | strlt r0, [r1], #4 | ||
170 | blt .LC2 | ||
171 | #endif /* __STARTUP_CLEAR_BSS */ | ||
172 | |||
173 | /* Add stack / heap initializaiton */ | ||
174 | movs r0, 0 | ||
175 | ldr r1, =__HeapBase | ||
176 | ldr r2, =__HeapLimit | ||
177 | .LC3: | ||
178 | cmp r1, r2 | ||
179 | itt lt | ||
180 | strlt r0, [r1], #4 | ||
181 | blt .LC3 | ||
182 | |||
183 | ldr r1, =__StackLimit | ||
184 | ldr r2, =__StackTop | ||
185 | .LC4: | ||
186 | cmp r1, r2 | ||
187 | itt lt | ||
188 | strlt r0, [r1], #4 | ||
189 | blt .LC4 | ||
190 | /*End of stack / heap initializaiton */ | ||
191 | cpsie i /* Unmask interrupts */ | ||
192 | |||
193 | #ifndef __START | ||
194 | #define __START _start | ||
195 | #endif | ||
196 | #ifndef __ATOLLIC__ | ||
197 | ldr r0,=__START | ||
198 | blx r0 | ||
199 | #else | ||
200 | ldr r0,=__libc_init_array | ||
201 | blx r0 | ||
202 | ldr r0,=main | ||
203 | bx r0 | ||
204 | #endif | ||
205 | .pool | ||
206 | .size Reset_Handler, . - Reset_Handler | ||
207 | |||
208 | .align 1 | ||
209 | .thumb_func | ||
210 | .weak DefaultISR | ||
211 | .type DefaultISR, %function | ||
212 | DefaultISR: | ||
213 | b DefaultISR | ||
214 | .size DefaultISR, . - DefaultISR | ||
215 | |||
216 | .align 1 | ||
217 | .thumb_func | ||
218 | .weak NMI_Handler | ||
219 | .type NMI_Handler, %function | ||
220 | NMI_Handler: | ||
221 | ldr r0,=NMI_Handler | ||
222 | bx r0 | ||
223 | .size NMI_Handler, . - NMI_Handler | ||
224 | |||
225 | .align 1 | ||
226 | .thumb_func | ||
227 | .weak HardFault_Handler | ||
228 | .type HardFault_Handler, %function | ||
229 | HardFault_Handler: | ||
230 | ldr r0,=HardFault_Handler | ||
231 | bx r0 | ||
232 | .size HardFault_Handler, . - HardFault_Handler | ||
233 | |||
234 | .align 1 | ||
235 | .thumb_func | ||
236 | .weak SVC_Handler | ||
237 | .type SVC_Handler, %function | ||
238 | SVC_Handler: | ||
239 | ldr r0,=SVC_Handler | ||
240 | bx r0 | ||
241 | .size SVC_Handler, . - SVC_Handler | ||
242 | |||
243 | .align 1 | ||
244 | .thumb_func | ||
245 | .weak PendSV_Handler | ||
246 | .type PendSV_Handler, %function | ||
247 | PendSV_Handler: | ||
248 | ldr r0,=PendSV_Handler | ||
249 | bx r0 | ||
250 | .size PendSV_Handler, . - PendSV_Handler | ||
251 | |||
252 | .align 1 | ||
253 | .thumb_func | ||
254 | .weak SysTick_Handler | ||
255 | .type SysTick_Handler, %function | ||
256 | SysTick_Handler: | ||
257 | ldr r0,=SysTick_Handler | ||
258 | bx r0 | ||
259 | .size SysTick_Handler, . - SysTick_Handler | ||
260 | |||
261 | .align 1 | ||
262 | .thumb_func | ||
263 | .weak WDT_BOD_IRQHandler | ||
264 | .type WDT_BOD_IRQHandler, %function | ||
265 | WDT_BOD_IRQHandler: | ||
266 | ldr r0,=WDT_BOD_DriverIRQHandler | ||
267 | bx r0 | ||
268 | .size WDT_BOD_IRQHandler, . - WDT_BOD_IRQHandler | ||
269 | |||
270 | .align 1 | ||
271 | .thumb_func | ||
272 | .weak DMA0_IRQHandler | ||
273 | .type DMA0_IRQHandler, %function | ||
274 | DMA0_IRQHandler: | ||
275 | ldr r0,=DMA0_DriverIRQHandler | ||
276 | bx r0 | ||
277 | .size DMA0_IRQHandler, . - DMA0_IRQHandler | ||
278 | |||
279 | .align 1 | ||
280 | .thumb_func | ||
281 | .weak GINT0_IRQHandler | ||
282 | .type GINT0_IRQHandler, %function | ||
283 | GINT0_IRQHandler: | ||
284 | ldr r0,=GINT0_DriverIRQHandler | ||
285 | bx r0 | ||
286 | .size GINT0_IRQHandler, . - GINT0_IRQHandler | ||
287 | |||
288 | .align 1 | ||
289 | .thumb_func | ||
290 | .weak GINT1_IRQHandler | ||
291 | .type GINT1_IRQHandler, %function | ||
292 | GINT1_IRQHandler: | ||
293 | ldr r0,=GINT1_DriverIRQHandler | ||
294 | bx r0 | ||
295 | .size GINT1_IRQHandler, . - GINT1_IRQHandler | ||
296 | |||
297 | .align 1 | ||
298 | .thumb_func | ||
299 | .weak PIN_INT0_IRQHandler | ||
300 | .type PIN_INT0_IRQHandler, %function | ||
301 | PIN_INT0_IRQHandler: | ||
302 | ldr r0,=PIN_INT0_DriverIRQHandler | ||
303 | bx r0 | ||
304 | .size PIN_INT0_IRQHandler, . - PIN_INT0_IRQHandler | ||
305 | |||
306 | .align 1 | ||
307 | .thumb_func | ||
308 | .weak PIN_INT1_IRQHandler | ||
309 | .type PIN_INT1_IRQHandler, %function | ||
310 | PIN_INT1_IRQHandler: | ||
311 | ldr r0,=PIN_INT1_DriverIRQHandler | ||
312 | bx r0 | ||
313 | .size PIN_INT1_IRQHandler, . - PIN_INT1_IRQHandler | ||
314 | |||
315 | .align 1 | ||
316 | .thumb_func | ||
317 | .weak PIN_INT2_IRQHandler | ||
318 | .type PIN_INT2_IRQHandler, %function | ||
319 | PIN_INT2_IRQHandler: | ||
320 | ldr r0,=PIN_INT2_DriverIRQHandler | ||
321 | bx r0 | ||
322 | .size PIN_INT2_IRQHandler, . - PIN_INT2_IRQHandler | ||
323 | |||
324 | .align 1 | ||
325 | .thumb_func | ||
326 | .weak PIN_INT3_IRQHandler | ||
327 | .type PIN_INT3_IRQHandler, %function | ||
328 | PIN_INT3_IRQHandler: | ||
329 | ldr r0,=PIN_INT3_DriverIRQHandler | ||
330 | bx r0 | ||
331 | .size PIN_INT3_IRQHandler, . - PIN_INT3_IRQHandler | ||
332 | |||
333 | .align 1 | ||
334 | .thumb_func | ||
335 | .weak UTICK0_IRQHandler | ||
336 | .type UTICK0_IRQHandler, %function | ||
337 | UTICK0_IRQHandler: | ||
338 | ldr r0,=UTICK0_DriverIRQHandler | ||
339 | bx r0 | ||
340 | .size UTICK0_IRQHandler, . - UTICK0_IRQHandler | ||
341 | |||
342 | .align 1 | ||
343 | .thumb_func | ||
344 | .weak MRT0_IRQHandler | ||
345 | .type MRT0_IRQHandler, %function | ||
346 | MRT0_IRQHandler: | ||
347 | ldr r0,=MRT0_DriverIRQHandler | ||
348 | bx r0 | ||
349 | .size MRT0_IRQHandler, . - MRT0_IRQHandler | ||
350 | |||
351 | .align 1 | ||
352 | .thumb_func | ||
353 | .weak CTIMER0_IRQHandler | ||
354 | .type CTIMER0_IRQHandler, %function | ||
355 | CTIMER0_IRQHandler: | ||
356 | ldr r0,=CTIMER0_DriverIRQHandler | ||
357 | bx r0 | ||
358 | .size CTIMER0_IRQHandler, . - CTIMER0_IRQHandler | ||
359 | |||
360 | .align 1 | ||
361 | .thumb_func | ||
362 | .weak CTIMER1_IRQHandler | ||
363 | .type CTIMER1_IRQHandler, %function | ||
364 | CTIMER1_IRQHandler: | ||
365 | ldr r0,=CTIMER1_DriverIRQHandler | ||
366 | bx r0 | ||
367 | .size CTIMER1_IRQHandler, . - CTIMER1_IRQHandler | ||
368 | |||
369 | .align 1 | ||
370 | .thumb_func | ||
371 | .weak SCT0_IRQHandler | ||
372 | .type SCT0_IRQHandler, %function | ||
373 | SCT0_IRQHandler: | ||
374 | ldr r0,=SCT0_DriverIRQHandler | ||
375 | bx r0 | ||
376 | .size SCT0_IRQHandler, . - SCT0_IRQHandler | ||
377 | |||
378 | .align 1 | ||
379 | .thumb_func | ||
380 | .weak CTIMER3_IRQHandler | ||
381 | .type CTIMER3_IRQHandler, %function | ||
382 | CTIMER3_IRQHandler: | ||
383 | ldr r0,=CTIMER3_DriverIRQHandler | ||
384 | bx r0 | ||
385 | .size CTIMER3_IRQHandler, . - CTIMER3_IRQHandler | ||
386 | |||
387 | .align 1 | ||
388 | .thumb_func | ||
389 | .weak FLEXCOMM0_IRQHandler | ||
390 | .type FLEXCOMM0_IRQHandler, %function | ||
391 | FLEXCOMM0_IRQHandler: | ||
392 | ldr r0,=FLEXCOMM0_DriverIRQHandler | ||
393 | bx r0 | ||
394 | .size FLEXCOMM0_IRQHandler, . - FLEXCOMM0_IRQHandler | ||
395 | |||
396 | .align 1 | ||
397 | .thumb_func | ||
398 | .weak FLEXCOMM1_IRQHandler | ||
399 | .type FLEXCOMM1_IRQHandler, %function | ||
400 | FLEXCOMM1_IRQHandler: | ||
401 | ldr r0,=FLEXCOMM1_DriverIRQHandler | ||
402 | bx r0 | ||
403 | .size FLEXCOMM1_IRQHandler, . - FLEXCOMM1_IRQHandler | ||
404 | |||
405 | .align 1 | ||
406 | .thumb_func | ||
407 | .weak FLEXCOMM2_IRQHandler | ||
408 | .type FLEXCOMM2_IRQHandler, %function | ||
409 | FLEXCOMM2_IRQHandler: | ||
410 | ldr r0,=FLEXCOMM2_DriverIRQHandler | ||
411 | bx r0 | ||
412 | .size FLEXCOMM2_IRQHandler, . - FLEXCOMM2_IRQHandler | ||
413 | |||
414 | .align 1 | ||
415 | .thumb_func | ||
416 | .weak FLEXCOMM3_IRQHandler | ||
417 | .type FLEXCOMM3_IRQHandler, %function | ||
418 | FLEXCOMM3_IRQHandler: | ||
419 | ldr r0,=FLEXCOMM3_DriverIRQHandler | ||
420 | bx r0 | ||
421 | .size FLEXCOMM3_IRQHandler, . - FLEXCOMM3_IRQHandler | ||
422 | |||
423 | .align 1 | ||
424 | .thumb_func | ||
425 | .weak FLEXCOMM4_IRQHandler | ||
426 | .type FLEXCOMM4_IRQHandler, %function | ||
427 | FLEXCOMM4_IRQHandler: | ||
428 | ldr r0,=FLEXCOMM4_DriverIRQHandler | ||
429 | bx r0 | ||
430 | .size FLEXCOMM4_IRQHandler, . - FLEXCOMM4_IRQHandler | ||
431 | |||
432 | .align 1 | ||
433 | .thumb_func | ||
434 | .weak FLEXCOMM5_IRQHandler | ||
435 | .type FLEXCOMM5_IRQHandler, %function | ||
436 | FLEXCOMM5_IRQHandler: | ||
437 | ldr r0,=FLEXCOMM5_DriverIRQHandler | ||
438 | bx r0 | ||
439 | .size FLEXCOMM5_IRQHandler, . - FLEXCOMM5_IRQHandler | ||
440 | |||
441 | .align 1 | ||
442 | .thumb_func | ||
443 | .weak FLEXCOMM6_IRQHandler | ||
444 | .type FLEXCOMM6_IRQHandler, %function | ||
445 | FLEXCOMM6_IRQHandler: | ||
446 | ldr r0,=FLEXCOMM6_DriverIRQHandler | ||
447 | bx r0 | ||
448 | .size FLEXCOMM6_IRQHandler, . - FLEXCOMM6_IRQHandler | ||
449 | |||
450 | .align 1 | ||
451 | .thumb_func | ||
452 | .weak FLEXCOMM7_IRQHandler | ||
453 | .type FLEXCOMM7_IRQHandler, %function | ||
454 | FLEXCOMM7_IRQHandler: | ||
455 | ldr r0,=FLEXCOMM7_DriverIRQHandler | ||
456 | bx r0 | ||
457 | .size FLEXCOMM7_IRQHandler, . - FLEXCOMM7_IRQHandler | ||
458 | |||
459 | .align 1 | ||
460 | .thumb_func | ||
461 | .weak ADC0_IRQHandler | ||
462 | .type ADC0_IRQHandler, %function | ||
463 | ADC0_IRQHandler: | ||
464 | ldr r0,=ADC0_DriverIRQHandler | ||
465 | bx r0 | ||
466 | .size ADC0_IRQHandler, . - ADC0_IRQHandler | ||
467 | |||
468 | .align 1 | ||
469 | .thumb_func | ||
470 | .weak Reserved39_IRQHandler | ||
471 | .type Reserved39_IRQHandler, %function | ||
472 | Reserved39_IRQHandler: | ||
473 | ldr r0,=Reserved39_DriverIRQHandler | ||
474 | bx r0 | ||
475 | .size Reserved39_IRQHandler, . - Reserved39_IRQHandler | ||
476 | |||
477 | .align 1 | ||
478 | .thumb_func | ||
479 | .weak ACMP_IRQHandler | ||
480 | .type ACMP_IRQHandler, %function | ||
481 | ACMP_IRQHandler: | ||
482 | ldr r0,=ACMP_DriverIRQHandler | ||
483 | bx r0 | ||
484 | .size ACMP_IRQHandler, . - ACMP_IRQHandler | ||
485 | |||
486 | .align 1 | ||
487 | .thumb_func | ||
488 | .weak Reserved41_IRQHandler | ||
489 | .type Reserved41_IRQHandler, %function | ||
490 | Reserved41_IRQHandler: | ||
491 | ldr r0,=Reserved41_DriverIRQHandler | ||
492 | bx r0 | ||
493 | .size Reserved41_IRQHandler, . - Reserved41_IRQHandler | ||
494 | |||
495 | .align 1 | ||
496 | .thumb_func | ||
497 | .weak Reserved42_IRQHandler | ||
498 | .type Reserved42_IRQHandler, %function | ||
499 | Reserved42_IRQHandler: | ||
500 | ldr r0,=Reserved42_DriverIRQHandler | ||
501 | bx r0 | ||
502 | .size Reserved42_IRQHandler, . - Reserved42_IRQHandler | ||
503 | |||
504 | .align 1 | ||
505 | .thumb_func | ||
506 | .weak USB0_NEEDCLK_IRQHandler | ||
507 | .type USB0_NEEDCLK_IRQHandler, %function | ||
508 | USB0_NEEDCLK_IRQHandler: | ||
509 | ldr r0,=USB0_NEEDCLK_DriverIRQHandler | ||
510 | bx r0 | ||
511 | .size USB0_NEEDCLK_IRQHandler, . - USB0_NEEDCLK_IRQHandler | ||
512 | |||
513 | .align 1 | ||
514 | .thumb_func | ||
515 | .weak USB0_IRQHandler | ||
516 | .type USB0_IRQHandler, %function | ||
517 | USB0_IRQHandler: | ||
518 | ldr r0,=USB0_DriverIRQHandler | ||
519 | bx r0 | ||
520 | .size USB0_IRQHandler, . - USB0_IRQHandler | ||
521 | |||
522 | .align 1 | ||
523 | .thumb_func | ||
524 | .weak RTC_IRQHandler | ||
525 | .type RTC_IRQHandler, %function | ||
526 | RTC_IRQHandler: | ||
527 | ldr r0,=RTC_DriverIRQHandler | ||
528 | bx r0 | ||
529 | .size RTC_IRQHandler, . - RTC_IRQHandler | ||
530 | |||
531 | .align 1 | ||
532 | .thumb_func | ||
533 | .weak Reserved46_IRQHandler | ||
534 | .type Reserved46_IRQHandler, %function | ||
535 | Reserved46_IRQHandler: | ||
536 | ldr r0,=Reserved46_DriverIRQHandler | ||
537 | bx r0 | ||
538 | .size Reserved46_IRQHandler, . - Reserved46_IRQHandler | ||
539 | |||
540 | .align 1 | ||
541 | .thumb_func | ||
542 | .weak MAILBOX_IRQHandler | ||
543 | .type MAILBOX_IRQHandler, %function | ||
544 | MAILBOX_IRQHandler: | ||
545 | ldr r0,=MAILBOX_DriverIRQHandler | ||
546 | bx r0 | ||
547 | .size MAILBOX_IRQHandler, . - MAILBOX_IRQHandler | ||
548 | |||
549 | .align 1 | ||
550 | .thumb_func | ||
551 | .weak PIN_INT4_IRQHandler | ||
552 | .type PIN_INT4_IRQHandler, %function | ||
553 | PIN_INT4_IRQHandler: | ||
554 | ldr r0,=PIN_INT4_DriverIRQHandler | ||
555 | bx r0 | ||
556 | .size PIN_INT4_IRQHandler, . - PIN_INT4_IRQHandler | ||
557 | |||
558 | .align 1 | ||
559 | .thumb_func | ||
560 | .weak PIN_INT5_IRQHandler | ||
561 | .type PIN_INT5_IRQHandler, %function | ||
562 | PIN_INT5_IRQHandler: | ||
563 | ldr r0,=PIN_INT5_DriverIRQHandler | ||
564 | bx r0 | ||
565 | .size PIN_INT5_IRQHandler, . - PIN_INT5_IRQHandler | ||
566 | |||
567 | .align 1 | ||
568 | .thumb_func | ||
569 | .weak PIN_INT6_IRQHandler | ||
570 | .type PIN_INT6_IRQHandler, %function | ||
571 | PIN_INT6_IRQHandler: | ||
572 | ldr r0,=PIN_INT6_DriverIRQHandler | ||
573 | bx r0 | ||
574 | .size PIN_INT6_IRQHandler, . - PIN_INT6_IRQHandler | ||
575 | |||
576 | .align 1 | ||
577 | .thumb_func | ||
578 | .weak PIN_INT7_IRQHandler | ||
579 | .type PIN_INT7_IRQHandler, %function | ||
580 | PIN_INT7_IRQHandler: | ||
581 | ldr r0,=PIN_INT7_DriverIRQHandler | ||
582 | bx r0 | ||
583 | .size PIN_INT7_IRQHandler, . - PIN_INT7_IRQHandler | ||
584 | |||
585 | .align 1 | ||
586 | .thumb_func | ||
587 | .weak CTIMER2_IRQHandler | ||
588 | .type CTIMER2_IRQHandler, %function | ||
589 | CTIMER2_IRQHandler: | ||
590 | ldr r0,=CTIMER2_DriverIRQHandler | ||
591 | bx r0 | ||
592 | .size CTIMER2_IRQHandler, . - CTIMER2_IRQHandler | ||
593 | |||
594 | .align 1 | ||
595 | .thumb_func | ||
596 | .weak CTIMER4_IRQHandler | ||
597 | .type CTIMER4_IRQHandler, %function | ||
598 | CTIMER4_IRQHandler: | ||
599 | ldr r0,=CTIMER4_DriverIRQHandler | ||
600 | bx r0 | ||
601 | .size CTIMER4_IRQHandler, . - CTIMER4_IRQHandler | ||
602 | |||
603 | .align 1 | ||
604 | .thumb_func | ||
605 | .weak OS_EVENT_IRQHandler | ||
606 | .type OS_EVENT_IRQHandler, %function | ||
607 | OS_EVENT_IRQHandler: | ||
608 | ldr r0,=OS_EVENT_DriverIRQHandler | ||
609 | bx r0 | ||
610 | .size OS_EVENT_IRQHandler, . - OS_EVENT_IRQHandler | ||
611 | |||
612 | .align 1 | ||
613 | .thumb_func | ||
614 | .weak Reserved55_IRQHandler | ||
615 | .type Reserved55_IRQHandler, %function | ||
616 | Reserved55_IRQHandler: | ||
617 | ldr r0,=Reserved55_DriverIRQHandler | ||
618 | bx r0 | ||
619 | .size Reserved55_IRQHandler, . - Reserved55_IRQHandler | ||
620 | |||
621 | .align 1 | ||
622 | .thumb_func | ||
623 | .weak Reserved56_IRQHandler | ||
624 | .type Reserved56_IRQHandler, %function | ||
625 | Reserved56_IRQHandler: | ||
626 | ldr r0,=Reserved56_DriverIRQHandler | ||
627 | bx r0 | ||
628 | .size Reserved56_IRQHandler, . - Reserved56_IRQHandler | ||
629 | |||
630 | .align 1 | ||
631 | .thumb_func | ||
632 | .weak Reserved57_IRQHandler | ||
633 | .type Reserved57_IRQHandler, %function | ||
634 | Reserved57_IRQHandler: | ||
635 | ldr r0,=Reserved57_DriverIRQHandler | ||
636 | bx r0 | ||
637 | .size Reserved57_IRQHandler, . - Reserved57_IRQHandler | ||
638 | |||
639 | .align 1 | ||
640 | .thumb_func | ||
641 | .weak SDIO_IRQHandler | ||
642 | .type SDIO_IRQHandler, %function | ||
643 | SDIO_IRQHandler: | ||
644 | ldr r0,=SDIO_DriverIRQHandler | ||
645 | bx r0 | ||
646 | .size SDIO_IRQHandler, . - SDIO_IRQHandler | ||
647 | |||
648 | .align 1 | ||
649 | .thumb_func | ||
650 | .weak Reserved59_IRQHandler | ||
651 | .type Reserved59_IRQHandler, %function | ||
652 | Reserved59_IRQHandler: | ||
653 | ldr r0,=Reserved59_DriverIRQHandler | ||
654 | bx r0 | ||
655 | .size Reserved59_IRQHandler, . - Reserved59_IRQHandler | ||
656 | |||
657 | .align 1 | ||
658 | .thumb_func | ||
659 | .weak Reserved60_IRQHandler | ||
660 | .type Reserved60_IRQHandler, %function | ||
661 | Reserved60_IRQHandler: | ||
662 | ldr r0,=Reserved60_DriverIRQHandler | ||
663 | bx r0 | ||
664 | .size Reserved60_IRQHandler, . - Reserved60_IRQHandler | ||
665 | |||
666 | .align 1 | ||
667 | .thumb_func | ||
668 | .weak Reserved61_IRQHandler | ||
669 | .type Reserved61_IRQHandler, %function | ||
670 | Reserved61_IRQHandler: | ||
671 | ldr r0,=Reserved61_DriverIRQHandler | ||
672 | bx r0 | ||
673 | .size Reserved61_IRQHandler, . - Reserved61_IRQHandler | ||
674 | |||
675 | .align 1 | ||
676 | .thumb_func | ||
677 | .weak USB1_PHY_IRQHandler | ||
678 | .type USB1_PHY_IRQHandler, %function | ||
679 | USB1_PHY_IRQHandler: | ||
680 | ldr r0,=USB1_PHY_DriverIRQHandler | ||
681 | bx r0 | ||
682 | .size USB1_PHY_IRQHandler, . - USB1_PHY_IRQHandler | ||
683 | |||
684 | .align 1 | ||
685 | .thumb_func | ||
686 | .weak USB1_IRQHandler | ||
687 | .type USB1_IRQHandler, %function | ||
688 | USB1_IRQHandler: | ||
689 | ldr r0,=USB1_DriverIRQHandler | ||
690 | bx r0 | ||
691 | .size USB1_IRQHandler, . - USB1_IRQHandler | ||
692 | |||
693 | .align 1 | ||
694 | .thumb_func | ||
695 | .weak USB1_NEEDCLK_IRQHandler | ||
696 | .type USB1_NEEDCLK_IRQHandler, %function | ||
697 | USB1_NEEDCLK_IRQHandler: | ||
698 | ldr r0,=USB1_NEEDCLK_DriverIRQHandler | ||
699 | bx r0 | ||
700 | .size USB1_NEEDCLK_IRQHandler, . - USB1_NEEDCLK_IRQHandler | ||
701 | |||
702 | .align 1 | ||
703 | .thumb_func | ||
704 | .weak SEC_HYPERVISOR_CALL_IRQHandler | ||
705 | .type SEC_HYPERVISOR_CALL_IRQHandler, %function | ||
706 | SEC_HYPERVISOR_CALL_IRQHandler: | ||
707 | ldr r0,=SEC_HYPERVISOR_CALL_DriverIRQHandler | ||
708 | bx r0 | ||
709 | .size SEC_HYPERVISOR_CALL_IRQHandler, . - SEC_HYPERVISOR_CALL_IRQHandler | ||
710 | |||
711 | .align 1 | ||
712 | .thumb_func | ||
713 | .weak SEC_GPIO_INT0_IRQ0_IRQHandler | ||
714 | .type SEC_GPIO_INT0_IRQ0_IRQHandler, %function | ||
715 | SEC_GPIO_INT0_IRQ0_IRQHandler: | ||
716 | ldr r0,=SEC_GPIO_INT0_IRQ0_DriverIRQHandler | ||
717 | bx r0 | ||
718 | .size SEC_GPIO_INT0_IRQ0_IRQHandler, . - SEC_GPIO_INT0_IRQ0_IRQHandler | ||
719 | |||
720 | .align 1 | ||
721 | .thumb_func | ||
722 | .weak SEC_GPIO_INT0_IRQ1_IRQHandler | ||
723 | .type SEC_GPIO_INT0_IRQ1_IRQHandler, %function | ||
724 | SEC_GPIO_INT0_IRQ1_IRQHandler: | ||
725 | ldr r0,=SEC_GPIO_INT0_IRQ1_DriverIRQHandler | ||
726 | bx r0 | ||
727 | .size SEC_GPIO_INT0_IRQ1_IRQHandler, . - SEC_GPIO_INT0_IRQ1_IRQHandler | ||
728 | |||
729 | .align 1 | ||
730 | .thumb_func | ||
731 | .weak PLU_IRQHandler | ||
732 | .type PLU_IRQHandler, %function | ||
733 | PLU_IRQHandler: | ||
734 | ldr r0,=PLU_DriverIRQHandler | ||
735 | bx r0 | ||
736 | .size PLU_IRQHandler, . - PLU_IRQHandler | ||
737 | |||
738 | .align 1 | ||
739 | .thumb_func | ||
740 | .weak SEC_VIO_IRQHandler | ||
741 | .type SEC_VIO_IRQHandler, %function | ||
742 | SEC_VIO_IRQHandler: | ||
743 | ldr r0,=SEC_VIO_DriverIRQHandler | ||
744 | bx r0 | ||
745 | .size SEC_VIO_IRQHandler, . - SEC_VIO_IRQHandler | ||
746 | |||
747 | .align 1 | ||
748 | .thumb_func | ||
749 | .weak HASHCRYPT_IRQHandler | ||
750 | .type HASHCRYPT_IRQHandler, %function | ||
751 | HASHCRYPT_IRQHandler: | ||
752 | ldr r0,=HASHCRYPT_DriverIRQHandler | ||
753 | bx r0 | ||
754 | .size HASHCRYPT_IRQHandler, . - HASHCRYPT_IRQHandler | ||
755 | |||
756 | .align 1 | ||
757 | .thumb_func | ||
758 | .weak CASER_IRQHandler | ||
759 | .type CASER_IRQHandler, %function | ||
760 | CASER_IRQHandler: | ||
761 | ldr r0,=CASER_DriverIRQHandler | ||
762 | bx r0 | ||
763 | .size CASER_IRQHandler, . - CASER_IRQHandler | ||
764 | |||
765 | .align 1 | ||
766 | .thumb_func | ||
767 | .weak PUF_IRQHandler | ||
768 | .type PUF_IRQHandler, %function | ||
769 | PUF_IRQHandler: | ||
770 | ldr r0,=PUF_DriverIRQHandler | ||
771 | bx r0 | ||
772 | .size PUF_IRQHandler, . - PUF_IRQHandler | ||
773 | |||
774 | .align 1 | ||
775 | .thumb_func | ||
776 | .weak PQ_IRQHandler | ||
777 | .type PQ_IRQHandler, %function | ||
778 | PQ_IRQHandler: | ||
779 | ldr r0,=PQ_DriverIRQHandler | ||
780 | bx r0 | ||
781 | .size PQ_IRQHandler, . - PQ_IRQHandler | ||
782 | |||
783 | .align 1 | ||
784 | .thumb_func | ||
785 | .weak DMA1_IRQHandler | ||
786 | .type DMA1_IRQHandler, %function | ||
787 | DMA1_IRQHandler: | ||
788 | ldr r0,=DMA1_DriverIRQHandler | ||
789 | bx r0 | ||
790 | .size DMA1_IRQHandler, . - DMA1_IRQHandler | ||
791 | |||
792 | .align 1 | ||
793 | .thumb_func | ||
794 | .weak FLEXCOMM8_IRQHandler | ||
795 | .type FLEXCOMM8_IRQHandler, %function | ||
796 | FLEXCOMM8_IRQHandler: | ||
797 | ldr r0,=FLEXCOMM8_DriverIRQHandler | ||
798 | bx r0 | ||
799 | .size FLEXCOMM8_IRQHandler, . - FLEXCOMM8_IRQHandler | ||
800 | |||
801 | /* Macro to define default handlers. Default handler | ||
802 | * will be weak symbol and just dead loops. They can be | ||
803 | * overwritten by other handlers */ | ||
804 | .macro def_irq_handler handler_name | ||
805 | .weak \handler_name | ||
806 | .set \handler_name, DefaultISR | ||
807 | .endm | ||
808 | /* Exception Handlers */ | ||
809 | def_irq_handler MemManage_Handler | ||
810 | def_irq_handler BusFault_Handler | ||
811 | def_irq_handler UsageFault_Handler | ||
812 | def_irq_handler SecureFault_Handler | ||
813 | def_irq_handler DebugMon_Handler | ||
814 | def_irq_handler WDT_BOD_DriverIRQHandler | ||
815 | def_irq_handler DMA0_DriverIRQHandler | ||
816 | def_irq_handler GINT0_DriverIRQHandler | ||
817 | def_irq_handler GINT1_DriverIRQHandler | ||
818 | def_irq_handler PIN_INT0_DriverIRQHandler | ||
819 | def_irq_handler PIN_INT1_DriverIRQHandler | ||
820 | def_irq_handler PIN_INT2_DriverIRQHandler | ||
821 | def_irq_handler PIN_INT3_DriverIRQHandler | ||
822 | def_irq_handler UTICK0_DriverIRQHandler | ||
823 | def_irq_handler MRT0_DriverIRQHandler | ||
824 | def_irq_handler CTIMER0_DriverIRQHandler | ||
825 | def_irq_handler CTIMER1_DriverIRQHandler | ||
826 | def_irq_handler SCT0_DriverIRQHandler | ||
827 | def_irq_handler CTIMER3_DriverIRQHandler | ||
828 | def_irq_handler FLEXCOMM0_DriverIRQHandler | ||
829 | def_irq_handler FLEXCOMM1_DriverIRQHandler | ||
830 | def_irq_handler FLEXCOMM2_DriverIRQHandler | ||
831 | def_irq_handler FLEXCOMM3_DriverIRQHandler | ||
832 | def_irq_handler FLEXCOMM4_DriverIRQHandler | ||
833 | def_irq_handler FLEXCOMM5_DriverIRQHandler | ||
834 | def_irq_handler FLEXCOMM6_DriverIRQHandler | ||
835 | def_irq_handler FLEXCOMM7_DriverIRQHandler | ||
836 | def_irq_handler ADC0_DriverIRQHandler | ||
837 | def_irq_handler Reserved39_DriverIRQHandler | ||
838 | def_irq_handler ACMP_DriverIRQHandler | ||
839 | def_irq_handler Reserved41_DriverIRQHandler | ||
840 | def_irq_handler Reserved42_DriverIRQHandler | ||
841 | def_irq_handler USB0_NEEDCLK_DriverIRQHandler | ||
842 | def_irq_handler USB0_DriverIRQHandler | ||
843 | def_irq_handler RTC_DriverIRQHandler | ||
844 | def_irq_handler Reserved46_DriverIRQHandler | ||
845 | def_irq_handler MAILBOX_DriverIRQHandler | ||
846 | def_irq_handler PIN_INT4_DriverIRQHandler | ||
847 | def_irq_handler PIN_INT5_DriverIRQHandler | ||
848 | def_irq_handler PIN_INT6_DriverIRQHandler | ||
849 | def_irq_handler PIN_INT7_DriverIRQHandler | ||
850 | def_irq_handler CTIMER2_DriverIRQHandler | ||
851 | def_irq_handler CTIMER4_DriverIRQHandler | ||
852 | def_irq_handler OS_EVENT_DriverIRQHandler | ||
853 | def_irq_handler Reserved55_DriverIRQHandler | ||
854 | def_irq_handler Reserved56_DriverIRQHandler | ||
855 | def_irq_handler Reserved57_DriverIRQHandler | ||
856 | def_irq_handler SDIO_DriverIRQHandler | ||
857 | def_irq_handler Reserved59_DriverIRQHandler | ||
858 | def_irq_handler Reserved60_DriverIRQHandler | ||
859 | def_irq_handler Reserved61_DriverIRQHandler | ||
860 | def_irq_handler USB1_PHY_DriverIRQHandler | ||
861 | def_irq_handler USB1_DriverIRQHandler | ||
862 | def_irq_handler USB1_NEEDCLK_DriverIRQHandler | ||
863 | def_irq_handler SEC_HYPERVISOR_CALL_DriverIRQHandler | ||
864 | def_irq_handler SEC_GPIO_INT0_IRQ0_DriverIRQHandler | ||
865 | def_irq_handler SEC_GPIO_INT0_IRQ1_DriverIRQHandler | ||
866 | def_irq_handler PLU_DriverIRQHandler | ||
867 | def_irq_handler SEC_VIO_DriverIRQHandler | ||
868 | def_irq_handler HASHCRYPT_DriverIRQHandler | ||
869 | def_irq_handler CASER_DriverIRQHandler | ||
870 | def_irq_handler PUF_DriverIRQHandler | ||
871 | def_irq_handler PQ_DriverIRQHandler | ||
872 | def_irq_handler DMA1_DriverIRQHandler | ||
873 | def_irq_handler FLEXCOMM8_DriverIRQHandler | ||
874 | |||
875 | .end | ||