blob: 8ced8b86956e06f29a40c1d9019fb485ff9b9e5b [file] [log] [blame]
;/*****************************************************************************
; * @file: startup_LPC51U68.s
; * @purpose: CMSIS Cortex-M0 Core Device Startup File for the
; * LPC51U68
; * @version: 1.0
; * @date: 2017-12-15
; *
; * Copyright 1997-2016 Freescale Semiconductor, Inc.
; * Copyright 2016-2018 NXP
; *
; * SPDX-License-Identifier: BSD-3-Clause
; *
; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
; *
; *****************************************************************************/
PRESERVE8
THUMB
; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY
EXPORT __Vectors
IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit|
__Vectors DCD |Image$$ARM_LIB_STACK$$ZI$$Limit| ; Top of Stack
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler
DCD HardFault_Handler
DCD 0
DCD 0
DCD 0
__vector_table_0x1c
DCD 0 ; Checksum of the first 7 words
DCD 0
DCD 0 ; Enhanced image marker, set to 0x0 for legacy boot
DCD 0 ; Pointer to enhanced boot block, set to 0x0 for legacy boot
DCD SVC_Handler
DCD 0
DCD 0
DCD PendSV_Handler
DCD SysTick_Handler
; External Interrupts
DCD WDT_BOD_IRQHandler ; Windowed watchdog timer, Brownout detect
DCD DMA0_IRQHandler ; DMA controller
DCD GINT0_IRQHandler ; GPIO group 0
DCD GINT1_IRQHandler ; GPIO group 1
DCD PIN_INT0_IRQHandler ; Pin interrupt 0 or pattern match engine slice 0
DCD PIN_INT1_IRQHandler ; Pin interrupt 1or pattern match engine slice 1
DCD PIN_INT2_IRQHandler ; Pin interrupt 2 or pattern match engine slice 2
DCD PIN_INT3_IRQHandler ; Pin interrupt 3 or pattern match engine slice 3
DCD UTICK0_IRQHandler ; Micro-tick Timer
DCD MRT0_IRQHandler ; Multi-rate timer
DCD CTIMER0_IRQHandler ; Standard counter/timer CTIMER0
DCD CTIMER1_IRQHandler ; Standard counter/timer CTIMER1
DCD SCT0_IRQHandler ; SCTimer/PWM
DCD CTIMER3_IRQHandler ; Standard counter/timer CTIMER3
DCD FLEXCOMM0_IRQHandler ; Flexcomm Interface 0 (USART, SPI, I2C)
DCD FLEXCOMM1_IRQHandler ; Flexcomm Interface 1 (USART, SPI, I2C)
DCD FLEXCOMM2_IRQHandler ; Flexcomm Interface 2 (USART, SPI, I2C)
DCD FLEXCOMM3_IRQHandler ; Flexcomm Interface 3 (USART, SPI, I2C)
DCD FLEXCOMM4_IRQHandler ; Flexcomm Interface 4 (USART, SPI, I2C)
DCD FLEXCOMM5_IRQHandler ; Flexcomm Interface 5 (USART, SPI, I2C)
DCD FLEXCOMM6_IRQHandler ; Flexcomm Interface 6 (USART, SPI, I2C, I2S)
DCD FLEXCOMM7_IRQHandler ; Flexcomm Interface 7 (USART, SPI, I2C, I2S)
DCD ADC0_SEQA_IRQHandler ; ADC0 sequence A completion.
DCD ADC0_SEQB_IRQHandler ; ADC0 sequence B completion.
DCD ADC0_THCMP_IRQHandler ; ADC0 threshold compare and error.
DCD Reserved41_IRQHandler ; Reserved interrupt
DCD Reserved42_IRQHandler ; Reserved interrupt
DCD USB0_NEEDCLK_IRQHandler ; USB Activity Wake-up Interrupt
DCD USB0_IRQHandler ; USB device
DCD RTC_IRQHandler ; RTC alarm and wake-up interrupts
DCD Reserved46_IRQHandler ; Reserved interrupt
DCD Reserved47_IRQHandler ; Reserved interrupt
AREA |.text|, CODE, READONLY
; Reset Handler
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT SystemInit
IMPORT __main
LDR r0, =SystemInit
BLX r0
LDR r0, =__main
BX r0
ENDP
; Dummy Exception Handlers (infinite loops which can be modified)
NMI_Handler PROC
EXPORT NMI_Handler [WEAK]
B .
ENDP
HardFault_Handler \
PROC
EXPORT HardFault_Handler [WEAK]
B .
ENDP
SVC_Handler PROC
EXPORT SVC_Handler [WEAK]
B .
ENDP
PendSV_Handler PROC
EXPORT PendSV_Handler [WEAK]
B .
ENDP
SysTick_Handler PROC
EXPORT SysTick_Handler [WEAK]
B .
ENDP
WDT_BOD_IRQHandler\
PROC
EXPORT WDT_BOD_IRQHandler [WEAK]
LDR R0, =WDT_BOD_DriverIRQHandler
BX R0
ENDP
DMA0_IRQHandler\
PROC
EXPORT DMA0_IRQHandler [WEAK]
LDR R0, =DMA0_DriverIRQHandler
BX R0
ENDP
GINT0_IRQHandler\
PROC
EXPORT GINT0_IRQHandler [WEAK]
LDR R0, =GINT0_DriverIRQHandler
BX R0
ENDP
GINT1_IRQHandler\
PROC
EXPORT GINT1_IRQHandler [WEAK]
LDR R0, =GINT1_DriverIRQHandler
BX R0
ENDP
PIN_INT0_IRQHandler\
PROC
EXPORT PIN_INT0_IRQHandler [WEAK]
LDR R0, =PIN_INT0_DriverIRQHandler
BX R0
ENDP
PIN_INT1_IRQHandler\
PROC
EXPORT PIN_INT1_IRQHandler [WEAK]
LDR R0, =PIN_INT1_DriverIRQHandler
BX R0
ENDP
PIN_INT2_IRQHandler\
PROC
EXPORT PIN_INT2_IRQHandler [WEAK]
LDR R0, =PIN_INT2_DriverIRQHandler
BX R0
ENDP
PIN_INT3_IRQHandler\
PROC
EXPORT PIN_INT3_IRQHandler [WEAK]
LDR R0, =PIN_INT3_DriverIRQHandler
BX R0
ENDP
UTICK0_IRQHandler\
PROC
EXPORT UTICK0_IRQHandler [WEAK]
LDR R0, =UTICK0_DriverIRQHandler
BX R0
ENDP
MRT0_IRQHandler\
PROC
EXPORT MRT0_IRQHandler [WEAK]
LDR R0, =MRT0_DriverIRQHandler
BX R0
ENDP
CTIMER0_IRQHandler\
PROC
EXPORT CTIMER0_IRQHandler [WEAK]
LDR R0, =CTIMER0_DriverIRQHandler
BX R0
ENDP
CTIMER1_IRQHandler\
PROC
EXPORT CTIMER1_IRQHandler [WEAK]
LDR R0, =CTIMER1_DriverIRQHandler
BX R0
ENDP
SCT0_IRQHandler\
PROC
EXPORT SCT0_IRQHandler [WEAK]
LDR R0, =SCT0_DriverIRQHandler
BX R0
ENDP
CTIMER3_IRQHandler\
PROC
EXPORT CTIMER3_IRQHandler [WEAK]
LDR R0, =CTIMER3_DriverIRQHandler
BX R0
ENDP
FLEXCOMM0_IRQHandler\
PROC
EXPORT FLEXCOMM0_IRQHandler [WEAK]
LDR R0, =FLEXCOMM0_DriverIRQHandler
BX R0
ENDP
FLEXCOMM1_IRQHandler\
PROC
EXPORT FLEXCOMM1_IRQHandler [WEAK]
LDR R0, =FLEXCOMM1_DriverIRQHandler
BX R0
ENDP
FLEXCOMM2_IRQHandler\
PROC
EXPORT FLEXCOMM2_IRQHandler [WEAK]
LDR R0, =FLEXCOMM2_DriverIRQHandler
BX R0
ENDP
FLEXCOMM3_IRQHandler\
PROC
EXPORT FLEXCOMM3_IRQHandler [WEAK]
LDR R0, =FLEXCOMM3_DriverIRQHandler
BX R0
ENDP
FLEXCOMM4_IRQHandler\
PROC
EXPORT FLEXCOMM4_IRQHandler [WEAK]
LDR R0, =FLEXCOMM4_DriverIRQHandler
BX R0
ENDP
FLEXCOMM5_IRQHandler\
PROC
EXPORT FLEXCOMM5_IRQHandler [WEAK]
LDR R0, =FLEXCOMM5_DriverIRQHandler
BX R0
ENDP
FLEXCOMM6_IRQHandler\
PROC
EXPORT FLEXCOMM6_IRQHandler [WEAK]
LDR R0, =FLEXCOMM6_DriverIRQHandler
BX R0
ENDP
FLEXCOMM7_IRQHandler\
PROC
EXPORT FLEXCOMM7_IRQHandler [WEAK]
LDR R0, =FLEXCOMM7_DriverIRQHandler
BX R0
ENDP
ADC0_SEQA_IRQHandler\
PROC
EXPORT ADC0_SEQA_IRQHandler [WEAK]
LDR R0, =ADC0_SEQA_DriverIRQHandler
BX R0
ENDP
ADC0_SEQB_IRQHandler\
PROC
EXPORT ADC0_SEQB_IRQHandler [WEAK]
LDR R0, =ADC0_SEQB_DriverIRQHandler
BX R0
ENDP
ADC0_THCMP_IRQHandler\
PROC
EXPORT ADC0_THCMP_IRQHandler [WEAK]
LDR R0, =ADC0_THCMP_DriverIRQHandler
BX R0
ENDP
Reserved41_IRQHandler\
PROC
EXPORT Reserved41_IRQHandler [WEAK]
LDR R0, =Reserved41_DriverIRQHandler
BX R0
ENDP
Reserved42_IRQHandler\
PROC
EXPORT Reserved42_IRQHandler [WEAK]
LDR R0, =Reserved42_DriverIRQHandler
BX R0
ENDP
USB0_NEEDCLK_IRQHandler\
PROC
EXPORT USB0_NEEDCLK_IRQHandler [WEAK]
LDR R0, =USB0_NEEDCLK_DriverIRQHandler
BX R0
ENDP
USB0_IRQHandler\
PROC
EXPORT USB0_IRQHandler [WEAK]
LDR R0, =USB0_DriverIRQHandler
BX R0
ENDP
RTC_IRQHandler\
PROC
EXPORT RTC_IRQHandler [WEAK]
LDR R0, =RTC_DriverIRQHandler
BX R0
ENDP
Reserved46_IRQHandler\
PROC
EXPORT Reserved46_IRQHandler [WEAK]
LDR R0, =Reserved46_DriverIRQHandler
BX R0
ENDP
Reserved47_IRQHandler\
PROC
EXPORT Reserved47_IRQHandler [WEAK]
LDR R0, =Reserved47_DriverIRQHandler
BX R0
ENDP
Default_Handler PROC
EXPORT WDT_BOD_DriverIRQHandler [WEAK]
EXPORT DMA0_DriverIRQHandler [WEAK]
EXPORT GINT0_DriverIRQHandler [WEAK]
EXPORT GINT1_DriverIRQHandler [WEAK]
EXPORT PIN_INT0_DriverIRQHandler [WEAK]
EXPORT PIN_INT1_DriverIRQHandler [WEAK]
EXPORT PIN_INT2_DriverIRQHandler [WEAK]
EXPORT PIN_INT3_DriverIRQHandler [WEAK]
EXPORT UTICK0_DriverIRQHandler [WEAK]
EXPORT MRT0_DriverIRQHandler [WEAK]
EXPORT CTIMER0_DriverIRQHandler [WEAK]
EXPORT CTIMER1_DriverIRQHandler [WEAK]
EXPORT SCT0_DriverIRQHandler [WEAK]
EXPORT CTIMER3_DriverIRQHandler [WEAK]
EXPORT FLEXCOMM0_DriverIRQHandler [WEAK]
EXPORT FLEXCOMM1_DriverIRQHandler [WEAK]
EXPORT FLEXCOMM2_DriverIRQHandler [WEAK]
EXPORT FLEXCOMM3_DriverIRQHandler [WEAK]
EXPORT FLEXCOMM4_DriverIRQHandler [WEAK]
EXPORT FLEXCOMM5_DriverIRQHandler [WEAK]
EXPORT FLEXCOMM6_DriverIRQHandler [WEAK]
EXPORT FLEXCOMM7_DriverIRQHandler [WEAK]
EXPORT ADC0_SEQA_DriverIRQHandler [WEAK]
EXPORT ADC0_SEQB_DriverIRQHandler [WEAK]
EXPORT ADC0_THCMP_DriverIRQHandler [WEAK]
EXPORT Reserved41_DriverIRQHandler [WEAK]
EXPORT Reserved42_DriverIRQHandler [WEAK]
EXPORT USB0_NEEDCLK_DriverIRQHandler [WEAK]
EXPORT USB0_DriverIRQHandler [WEAK]
EXPORT RTC_DriverIRQHandler [WEAK]
EXPORT Reserved46_DriverIRQHandler [WEAK]
EXPORT Reserved47_DriverIRQHandler [WEAK]
WDT_BOD_DriverIRQHandler
DMA0_DriverIRQHandler
GINT0_DriverIRQHandler
GINT1_DriverIRQHandler
PIN_INT0_DriverIRQHandler
PIN_INT1_DriverIRQHandler
PIN_INT2_DriverIRQHandler
PIN_INT3_DriverIRQHandler
UTICK0_DriverIRQHandler
MRT0_DriverIRQHandler
CTIMER0_DriverIRQHandler
CTIMER1_DriverIRQHandler
SCT0_DriverIRQHandler
CTIMER3_DriverIRQHandler
FLEXCOMM0_DriverIRQHandler
FLEXCOMM1_DriverIRQHandler
FLEXCOMM2_DriverIRQHandler
FLEXCOMM3_DriverIRQHandler
FLEXCOMM4_DriverIRQHandler
FLEXCOMM5_DriverIRQHandler
FLEXCOMM6_DriverIRQHandler
FLEXCOMM7_DriverIRQHandler
ADC0_SEQA_DriverIRQHandler
ADC0_SEQB_DriverIRQHandler
ADC0_THCMP_DriverIRQHandler
Reserved41_DriverIRQHandler
Reserved42_DriverIRQHandler
USB0_NEEDCLK_DriverIRQHandler
USB0_DriverIRQHandler
RTC_DriverIRQHandler
Reserved46_DriverIRQHandler
Reserved47_DriverIRQHandler
B .
ENDP
ALIGN
END