1 ;/*****************************************************************************
\r
2 ; * @file: startup_LPC51U68.s
\r
3 ; * @purpose: CMSIS Cortex-M0 Core Device Startup File for the
\r
6 ; * @date: 2017-12-15
\r
8 ; * Copyright 1997-2016 Freescale Semiconductor, Inc.
\r
9 ; * Copyright 2016-2018 NXP
\r
11 ; * SPDX-License-Identifier: BSD-3-Clause
\r
13 ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
\r
15 ; *****************************************************************************/
\r
21 ; Vector Table Mapped to Address 0 at Reset
\r
22 AREA RESET, DATA, READONLY
\r
24 IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit|
\r
26 __Vectors DCD |Image$$ARM_LIB_STACK$$ZI$$Limit| ; Top of Stack
\r
27 DCD Reset_Handler ; Reset Handler
\r
30 DCD HardFault_Handler
\r
35 DCD 0 ; Checksum of the first 7 words
\r
37 DCD 0 ; Enhanced image marker, set to 0x0 for legacy boot
\r
38 DCD 0 ; Pointer to enhanced boot block, set to 0x0 for legacy boot
\r
45 ; External Interrupts
\r
46 DCD WDT_BOD_IRQHandler ; Windowed watchdog timer, Brownout detect
\r
47 DCD DMA0_IRQHandler ; DMA controller
\r
48 DCD GINT0_IRQHandler ; GPIO group 0
\r
49 DCD GINT1_IRQHandler ; GPIO group 1
\r
50 DCD PIN_INT0_IRQHandler ; Pin interrupt 0 or pattern match engine slice 0
\r
51 DCD PIN_INT1_IRQHandler ; Pin interrupt 1or pattern match engine slice 1
\r
52 DCD PIN_INT2_IRQHandler ; Pin interrupt 2 or pattern match engine slice 2
\r
53 DCD PIN_INT3_IRQHandler ; Pin interrupt 3 or pattern match engine slice 3
\r
54 DCD UTICK0_IRQHandler ; Micro-tick Timer
\r
55 DCD MRT0_IRQHandler ; Multi-rate timer
\r
56 DCD CTIMER0_IRQHandler ; Standard counter/timer CTIMER0
\r
57 DCD CTIMER1_IRQHandler ; Standard counter/timer CTIMER1
\r
58 DCD SCT0_IRQHandler ; SCTimer/PWM
\r
59 DCD CTIMER3_IRQHandler ; Standard counter/timer CTIMER3
\r
60 DCD FLEXCOMM0_IRQHandler ; Flexcomm Interface 0 (USART, SPI, I2C)
\r
61 DCD FLEXCOMM1_IRQHandler ; Flexcomm Interface 1 (USART, SPI, I2C)
\r
62 DCD FLEXCOMM2_IRQHandler ; Flexcomm Interface 2 (USART, SPI, I2C)
\r
63 DCD FLEXCOMM3_IRQHandler ; Flexcomm Interface 3 (USART, SPI, I2C)
\r
64 DCD FLEXCOMM4_IRQHandler ; Flexcomm Interface 4 (USART, SPI, I2C)
\r
65 DCD FLEXCOMM5_IRQHandler ; Flexcomm Interface 5 (USART, SPI, I2C)
\r
66 DCD FLEXCOMM6_IRQHandler ; Flexcomm Interface 6 (USART, SPI, I2C, I2S)
\r
67 DCD FLEXCOMM7_IRQHandler ; Flexcomm Interface 7 (USART, SPI, I2C, I2S)
\r
68 DCD ADC0_SEQA_IRQHandler ; ADC0 sequence A completion.
\r
69 DCD ADC0_SEQB_IRQHandler ; ADC0 sequence B completion.
\r
70 DCD ADC0_THCMP_IRQHandler ; ADC0 threshold compare and error.
\r
71 DCD Reserved41_IRQHandler ; Reserved interrupt
\r
72 DCD Reserved42_IRQHandler ; Reserved interrupt
\r
73 DCD USB0_NEEDCLK_IRQHandler ; USB Activity Wake-up Interrupt
\r
74 DCD USB0_IRQHandler ; USB device
\r
75 DCD RTC_IRQHandler ; RTC alarm and wake-up interrupts
\r
76 DCD Reserved46_IRQHandler ; Reserved interrupt
\r
77 DCD Reserved47_IRQHandler ; Reserved interrupt
\r
79 AREA |.text|, CODE, READONLY
\r
83 EXPORT Reset_Handler [WEAK]
\r
93 ; Dummy Exception Handlers (infinite loops which can be modified)
\r
95 EXPORT NMI_Handler [WEAK]
\r
101 EXPORT HardFault_Handler [WEAK]
\r
106 EXPORT SVC_Handler [WEAK]
\r
110 PendSV_Handler PROC
\r
111 EXPORT PendSV_Handler [WEAK]
\r
115 SysTick_Handler PROC
\r
116 EXPORT SysTick_Handler [WEAK]
\r
120 WDT_BOD_IRQHandler\
\r
122 EXPORT WDT_BOD_IRQHandler [WEAK]
\r
123 LDR R0, =WDT_BOD_DriverIRQHandler
\r
129 EXPORT DMA0_IRQHandler [WEAK]
\r
130 LDR R0, =DMA0_DriverIRQHandler
\r
136 EXPORT GINT0_IRQHandler [WEAK]
\r
137 LDR R0, =GINT0_DriverIRQHandler
\r
143 EXPORT GINT1_IRQHandler [WEAK]
\r
144 LDR R0, =GINT1_DriverIRQHandler
\r
148 PIN_INT0_IRQHandler\
\r
150 EXPORT PIN_INT0_IRQHandler [WEAK]
\r
151 LDR R0, =PIN_INT0_DriverIRQHandler
\r
155 PIN_INT1_IRQHandler\
\r
157 EXPORT PIN_INT1_IRQHandler [WEAK]
\r
158 LDR R0, =PIN_INT1_DriverIRQHandler
\r
162 PIN_INT2_IRQHandler\
\r
164 EXPORT PIN_INT2_IRQHandler [WEAK]
\r
165 LDR R0, =PIN_INT2_DriverIRQHandler
\r
169 PIN_INT3_IRQHandler\
\r
171 EXPORT PIN_INT3_IRQHandler [WEAK]
\r
172 LDR R0, =PIN_INT3_DriverIRQHandler
\r
178 EXPORT UTICK0_IRQHandler [WEAK]
\r
179 LDR R0, =UTICK0_DriverIRQHandler
\r
185 EXPORT MRT0_IRQHandler [WEAK]
\r
186 LDR R0, =MRT0_DriverIRQHandler
\r
190 CTIMER0_IRQHandler\
\r
192 EXPORT CTIMER0_IRQHandler [WEAK]
\r
193 LDR R0, =CTIMER0_DriverIRQHandler
\r
197 CTIMER1_IRQHandler\
\r
199 EXPORT CTIMER1_IRQHandler [WEAK]
\r
200 LDR R0, =CTIMER1_DriverIRQHandler
\r
206 EXPORT SCT0_IRQHandler [WEAK]
\r
207 LDR R0, =SCT0_DriverIRQHandler
\r
211 CTIMER3_IRQHandler\
\r
213 EXPORT CTIMER3_IRQHandler [WEAK]
\r
214 LDR R0, =CTIMER3_DriverIRQHandler
\r
218 FLEXCOMM0_IRQHandler\
\r
220 EXPORT FLEXCOMM0_IRQHandler [WEAK]
\r
221 LDR R0, =FLEXCOMM0_DriverIRQHandler
\r
225 FLEXCOMM1_IRQHandler\
\r
227 EXPORT FLEXCOMM1_IRQHandler [WEAK]
\r
228 LDR R0, =FLEXCOMM1_DriverIRQHandler
\r
232 FLEXCOMM2_IRQHandler\
\r
234 EXPORT FLEXCOMM2_IRQHandler [WEAK]
\r
235 LDR R0, =FLEXCOMM2_DriverIRQHandler
\r
239 FLEXCOMM3_IRQHandler\
\r
241 EXPORT FLEXCOMM3_IRQHandler [WEAK]
\r
242 LDR R0, =FLEXCOMM3_DriverIRQHandler
\r
246 FLEXCOMM4_IRQHandler\
\r
248 EXPORT FLEXCOMM4_IRQHandler [WEAK]
\r
249 LDR R0, =FLEXCOMM4_DriverIRQHandler
\r
253 FLEXCOMM5_IRQHandler\
\r
255 EXPORT FLEXCOMM5_IRQHandler [WEAK]
\r
256 LDR R0, =FLEXCOMM5_DriverIRQHandler
\r
260 FLEXCOMM6_IRQHandler\
\r
262 EXPORT FLEXCOMM6_IRQHandler [WEAK]
\r
263 LDR R0, =FLEXCOMM6_DriverIRQHandler
\r
267 FLEXCOMM7_IRQHandler\
\r
269 EXPORT FLEXCOMM7_IRQHandler [WEAK]
\r
270 LDR R0, =FLEXCOMM7_DriverIRQHandler
\r
274 ADC0_SEQA_IRQHandler\
\r
276 EXPORT ADC0_SEQA_IRQHandler [WEAK]
\r
277 LDR R0, =ADC0_SEQA_DriverIRQHandler
\r
281 ADC0_SEQB_IRQHandler\
\r
283 EXPORT ADC0_SEQB_IRQHandler [WEAK]
\r
284 LDR R0, =ADC0_SEQB_DriverIRQHandler
\r
288 ADC0_THCMP_IRQHandler\
\r
290 EXPORT ADC0_THCMP_IRQHandler [WEAK]
\r
291 LDR R0, =ADC0_THCMP_DriverIRQHandler
\r
295 Reserved41_IRQHandler\
\r
297 EXPORT Reserved41_IRQHandler [WEAK]
\r
298 LDR R0, =Reserved41_DriverIRQHandler
\r
302 Reserved42_IRQHandler\
\r
304 EXPORT Reserved42_IRQHandler [WEAK]
\r
305 LDR R0, =Reserved42_DriverIRQHandler
\r
309 USB0_NEEDCLK_IRQHandler\
\r
311 EXPORT USB0_NEEDCLK_IRQHandler [WEAK]
\r
312 LDR R0, =USB0_NEEDCLK_DriverIRQHandler
\r
318 EXPORT USB0_IRQHandler [WEAK]
\r
319 LDR R0, =USB0_DriverIRQHandler
\r
325 EXPORT RTC_IRQHandler [WEAK]
\r
326 LDR R0, =RTC_DriverIRQHandler
\r
330 Reserved46_IRQHandler\
\r
332 EXPORT Reserved46_IRQHandler [WEAK]
\r
333 LDR R0, =Reserved46_DriverIRQHandler
\r
337 Reserved47_IRQHandler\
\r
339 EXPORT Reserved47_IRQHandler [WEAK]
\r
340 LDR R0, =Reserved47_DriverIRQHandler
\r
344 Default_Handler PROC
\r
345 EXPORT WDT_BOD_DriverIRQHandler [WEAK]
\r
346 EXPORT DMA0_DriverIRQHandler [WEAK]
\r
347 EXPORT GINT0_DriverIRQHandler [WEAK]
\r
348 EXPORT GINT1_DriverIRQHandler [WEAK]
\r
349 EXPORT PIN_INT0_DriverIRQHandler [WEAK]
\r
350 EXPORT PIN_INT1_DriverIRQHandler [WEAK]
\r
351 EXPORT PIN_INT2_DriverIRQHandler [WEAK]
\r
352 EXPORT PIN_INT3_DriverIRQHandler [WEAK]
\r
353 EXPORT UTICK0_DriverIRQHandler [WEAK]
\r
354 EXPORT MRT0_DriverIRQHandler [WEAK]
\r
355 EXPORT CTIMER0_DriverIRQHandler [WEAK]
\r
356 EXPORT CTIMER1_DriverIRQHandler [WEAK]
\r
357 EXPORT SCT0_DriverIRQHandler [WEAK]
\r
358 EXPORT CTIMER3_DriverIRQHandler [WEAK]
\r
359 EXPORT FLEXCOMM0_DriverIRQHandler [WEAK]
\r
360 EXPORT FLEXCOMM1_DriverIRQHandler [WEAK]
\r
361 EXPORT FLEXCOMM2_DriverIRQHandler [WEAK]
\r
362 EXPORT FLEXCOMM3_DriverIRQHandler [WEAK]
\r
363 EXPORT FLEXCOMM4_DriverIRQHandler [WEAK]
\r
364 EXPORT FLEXCOMM5_DriverIRQHandler [WEAK]
\r
365 EXPORT FLEXCOMM6_DriverIRQHandler [WEAK]
\r
366 EXPORT FLEXCOMM7_DriverIRQHandler [WEAK]
\r
367 EXPORT ADC0_SEQA_DriverIRQHandler [WEAK]
\r
368 EXPORT ADC0_SEQB_DriverIRQHandler [WEAK]
\r
369 EXPORT ADC0_THCMP_DriverIRQHandler [WEAK]
\r
370 EXPORT Reserved41_DriverIRQHandler [WEAK]
\r
371 EXPORT Reserved42_DriverIRQHandler [WEAK]
\r
372 EXPORT USB0_NEEDCLK_DriverIRQHandler [WEAK]
\r
373 EXPORT USB0_DriverIRQHandler [WEAK]
\r
374 EXPORT RTC_DriverIRQHandler [WEAK]
\r
375 EXPORT Reserved46_DriverIRQHandler [WEAK]
\r
376 EXPORT Reserved47_DriverIRQHandler [WEAK]
\r
378 WDT_BOD_DriverIRQHandler
\r
379 DMA0_DriverIRQHandler
\r
380 GINT0_DriverIRQHandler
\r
381 GINT1_DriverIRQHandler
\r
382 PIN_INT0_DriverIRQHandler
\r
383 PIN_INT1_DriverIRQHandler
\r
384 PIN_INT2_DriverIRQHandler
\r
385 PIN_INT3_DriverIRQHandler
\r
386 UTICK0_DriverIRQHandler
\r
387 MRT0_DriverIRQHandler
\r
388 CTIMER0_DriverIRQHandler
\r
389 CTIMER1_DriverIRQHandler
\r
390 SCT0_DriverIRQHandler
\r
391 CTIMER3_DriverIRQHandler
\r
392 FLEXCOMM0_DriverIRQHandler
\r
393 FLEXCOMM1_DriverIRQHandler
\r
394 FLEXCOMM2_DriverIRQHandler
\r
395 FLEXCOMM3_DriverIRQHandler
\r
396 FLEXCOMM4_DriverIRQHandler
\r
397 FLEXCOMM5_DriverIRQHandler
\r
398 FLEXCOMM6_DriverIRQHandler
\r
399 FLEXCOMM7_DriverIRQHandler
\r
400 ADC0_SEQA_DriverIRQHandler
\r
401 ADC0_SEQB_DriverIRQHandler
\r
402 ADC0_THCMP_DriverIRQHandler
\r
403 Reserved41_DriverIRQHandler
\r
404 Reserved42_DriverIRQHandler
\r
405 USB0_NEEDCLK_DriverIRQHandler
\r
406 USB0_DriverIRQHandler
\r
407 RTC_DriverIRQHandler
\r
408 Reserved46_DriverIRQHandler
\r
409 Reserved47_DriverIRQHandler
\r