]> git.donarmstrong.com Git - qmk_firmware.git/blob - tmk_core/tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC43XX/TOOLCHAIN_ARM_STD/TARGET_LPC4337/startup_LPC4337.s
allow overriding of TARGET
[qmk_firmware.git] / tmk_core / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_NXP / TARGET_LPC43XX / TOOLCHAIN_ARM_STD / TARGET_LPC4337 / startup_LPC4337.s
1 ;/***********************************************************************
2 ; * @brief: LPC18xx/43xx M3/M4 startup code
3 ; *
4 ; * @note
5 ; * Copyright(C) NXP Semiconductors, 2012
6 ; * All rights reserved.
7 ; *
8 ; * @par
9 ; * Software that is described herein is for illustrative purposes only
10 ; * which provides customers with programming information regarding the
11 ; * LPC products.  This software is supplied "AS IS" without any warranties of
12 ; * any kind, and NXP Semiconductors and its licensor disclaim any and
13 ; * all warranties, express or implied, including all implied warranties of
14 ; * merchantability, fitness for a particular purpose and non-infringement of
15 ; * intellectual property rights.  NXP Semiconductors assumes no responsibility
16 ; * or liability for the use of the software, conveys no license or rights under any
17 ; * patent, copyright, mask work right, or any other intellectual property rights in
18 ; * or to any products. NXP Semiconductors reserves the right to make changes
19 ; * in the software without notification. NXP Semiconductors also makes no
20 ; * representation or warranty that such application will be suitable for the
21 ; * specified use without further testing or modification.
22 ; *
23 ; * @par
24 ; * Permission to use, copy, modify, and distribute this software and its
25 ; * documentation is hereby granted, under NXP Semiconductors' and its
26 ; * licensor's relevant copyrights in the software, without fee, provided that it
27 ; * is used in conjunction with NXP Semiconductors microcontrollers.  This
28 ; * copyright, permission, and disclaimer notice must appear in all copies of
29 ; * this code.
30 ; */
31
32 ;__initial_sp    EQU     0x1008A000  ; Top of 2nd RAM segment for LPC4337
33 __initial_sp    EQU     0x10008000  ; Top of 1st RAM segment for LPC4337
34
35                 PRESERVE8
36                 THUMB
37
38 ; Vector Table Mapped to Address 0 at Reset
39
40                 AREA    RESET, DATA, READONLY
41                 EXPORT  __Vectors
42
43 Sign_Value      EQU     0x5A5A5A5A
44
45 __Vectors   DCD __initial_sp                ; 0 Top of Stack
46             DCD Reset_Handler               ; 1 Reset Handler
47             DCD NMI_Handler                 ; 2 NMI Handler
48             DCD HardFault_Handler           ; 3 Hard Fault Handler
49             DCD MemManage_Handler           ; 4 MPU Fault Handler
50             DCD BusFault_Handler            ; 5 Bus Fault Handler
51             DCD UsageFault_Handler          ; 6 Usage Fault Handler
52             DCD Sign_Value                  ; 7 Reserved
53             DCD UnHandled_Vector            ; 8 Reserved
54             DCD UnHandled_Vector            ; 9 Reserved
55             DCD UnHandled_Vector            ; 10 Reserved
56             DCD SVC_Handler                 ; 11 SVCall Handler
57             DCD DebugMon_Handler            ; 12 Debug Monitor Handler
58             DCD UnHandled_Vector            ; 13 Reserved
59             DCD PendSV_Handler              ; 14 PendSV Handler
60             DCD SysTick_Handler             ; 15 SysTick Handler
61
62         ; External Interrupts
63             DCD DAC_IRQHandler              ; 16 D/A Converter
64             DCD MX_CORE_IRQHandler          ; 17 M0/M4 IRQ handler (LPC43XX ONLY)
65             DCD DMA_IRQHandler              ; 18 General Purpose DMA
66             DCD UnHandled_Vector            ; 19 Reserved
67             DCD FLASHEEPROM_IRQHandler      ; 20 ORed flash bank A, flash bank B, EEPROM interrupts
68             DCD ETH_IRQHandler              ; 21 Ethernet
69             DCD SDIO_IRQHandler             ; 22 SD/MMC
70             DCD LCD_IRQHandler              ; 23 LCD
71             DCD USB0_IRQHandler             ; 24 USB0
72             DCD USB1_IRQHandler             ; 25 USB1
73             DCD SCT_IRQHandler              ; 26 State Configurable Timer
74             DCD RIT_IRQHandler              ; 27 Repetitive Interrupt Timer
75             DCD TIMER0_IRQHandler           ; 28 Timer0
76             DCD TIMER1_IRQHandler           ; 29 Timer1
77             DCD TIMER2_IRQHandler           ; 30 Timer2
78             DCD TIMER3_IRQHandler           ; 31 Timer3
79             DCD MCPWM_IRQHandler            ; 32 Motor Control PWM
80             DCD ADC0_IRQHandler             ; 33 A/D Converter 0
81             DCD I2C0_IRQHandler             ; 34 I2C0
82             DCD I2C1_IRQHandler             ; 35 I2C1
83             DCD SPI_IRQHandler              ; 36 SPI (LPC43XX ONLY)
84             DCD ADC1_IRQHandler             ; 37 A/D Converter 1
85             DCD SSP0_IRQHandler             ; 38 SSP0
86             DCD SSP1_IRQHandler             ; 39 SSP1
87             DCD UART0_IRQHandler            ; 40 UART0
88             DCD UART1_IRQHandler            ; 41 UART1
89             DCD UART2_IRQHandler            ; 42 UART2
90             DCD UART3_IRQHandler            ; 43 UART3
91             DCD I2S0_IRQHandler             ; 44 I2S0
92             DCD I2S1_IRQHandler             ; 45 I2S1
93             DCD SPIFI_IRQHandler            ; 46 SPI Flash Interface
94             DCD SGPIO_IRQHandler            ; 47 SGPIO (LPC43XX ONLY)
95             DCD GPIO0_IRQHandler            ; 48 GPIO0
96             DCD GPIO1_IRQHandler            ; 49 GPIO1
97             DCD GPIO2_IRQHandler            ; 50 GPIO2
98             DCD GPIO3_IRQHandler            ; 51 GPIO3
99             DCD GPIO4_IRQHandler            ; 52 GPIO4
100             DCD GPIO5_IRQHandler            ; 53 GPIO5
101             DCD GPIO6_IRQHandler            ; 54 GPIO6
102             DCD GPIO7_IRQHandler            ; 55 GPIO7
103             DCD GINT0_IRQHandler            ; 56 GINT0
104             DCD GINT1_IRQHandler            ; 57 GINT1
105             DCD EVRT_IRQHandler             ; 58 Event Router
106             DCD CAN1_IRQHandler             ; 59 C_CAN1
107             DCD UnHandled_Vector            ; 60 Reserved
108             DCD VADC_IRQHandler             ; 61 VADC
109             DCD ATIMER_IRQHandler           ; 62 ATIMER
110             DCD RTC_IRQHandler              ; 63 RTC
111             DCD UnHandled_Vector            ; 64 Reserved
112             DCD WDT_IRQHandler              ; 65 WDT
113             DCD UnHandled_Vector            ; 66 M0s
114             DCD CAN0_IRQHandler             ; 67 C_CAN0
115             DCD QEI_IRQHandler              ; 68 QEI
116
117 ;                IF      :LNOT::DEF:NO_CRP
118 ;                AREA    |.ARM.__at_0x02FC|, CODE, READONLY
119 ;CRP_Key         DCD     0xFFFFFFFF
120 ;                ENDIF
121
122                 AREA    |.text|, CODE, READONLY
123
124 ; Reset Handler
125
126 Reset_Handler   PROC
127                 EXPORT  Reset_Handler           [WEAK]
128                 IMPORT  __main
129                 IMPORT  SystemInit
130                 LDR     R0, =SystemInit
131                 BLX     R0
132                 LDR     R0, =__main
133                 BX      R0
134                 ENDP
135
136 ; Dummy Exception Handlers (infinite loops which can be modified)
137
138 NMI_Handler     PROC
139                 EXPORT  NMI_Handler             [WEAK]
140                 B       .
141                 ENDP
142 HardFault_Handler\
143                 PROC
144                 EXPORT  HardFault_Handler       [WEAK]
145                 B       .
146                 ENDP
147 MemManage_Handler\
148                 PROC
149                 EXPORT  MemManage_Handler       [WEAK]
150                 B       .
151                 ENDP
152 BusFault_Handler\
153                 PROC
154                 EXPORT  BusFault_Handler        [WEAK]
155                 B       .
156                 ENDP
157 UsageFault_Handler\
158                 PROC
159                 EXPORT  UsageFault_Handler      [WEAK]
160                 B       .
161                 ENDP
162 SVC_Handler     PROC
163                 EXPORT  SVC_Handler             [WEAK]
164                 B       .
165                 ENDP
166 DebugMon_Handler\
167                 PROC
168                 EXPORT  DebugMon_Handler        [WEAK]
169                 B       .
170                 ENDP
171 PendSV_Handler  PROC
172                 EXPORT  PendSV_Handler          [WEAK]
173                 B       .
174                 ENDP
175 SysTick_Handler PROC
176                 EXPORT  SysTick_Handler         [WEAK]
177                 B       .
178                 ENDP
179 UnHandled_Vector    PROC
180                 EXPORT  UnHandled_Vector        [WEAK]
181                 B       .
182                 ENDP
183
184 Default_Handler PROC
185
186                 EXPORT DAC_IRQHandler           [WEAK]
187                 EXPORT MX_CORE_IRQHandler       [WEAK]
188                 EXPORT DMA_IRQHandler           [WEAK]
189                 EXPORT FLASHEEPROM_IRQHandler   [WEAK]
190                 EXPORT ETH_IRQHandler           [WEAK]
191                 EXPORT SDIO_IRQHandler          [WEAK]
192                 EXPORT LCD_IRQHandler           [WEAK]
193                 EXPORT USB0_IRQHandler          [WEAK]
194                 EXPORT USB1_IRQHandler          [WEAK]
195                 EXPORT SCT_IRQHandler           [WEAK]
196                 EXPORT RIT_IRQHandler           [WEAK]
197                 EXPORT TIMER0_IRQHandler        [WEAK]
198                 EXPORT TIMER1_IRQHandler        [WEAK]
199                 EXPORT TIMER2_IRQHandler        [WEAK]
200                 EXPORT TIMER3_IRQHandler        [WEAK]
201                 EXPORT MCPWM_IRQHandler         [WEAK]
202                 EXPORT ADC0_IRQHandler          [WEAK]
203                 EXPORT I2C0_IRQHandler          [WEAK]
204                 EXPORT I2C1_IRQHandler          [WEAK]
205                 EXPORT SPI_IRQHandler           [WEAK]
206                 EXPORT ADC1_IRQHandler          [WEAK]
207                 EXPORT SSP0_IRQHandler          [WEAK]
208                 EXPORT SSP1_IRQHandler          [WEAK]
209                 EXPORT UART0_IRQHandler         [WEAK]
210                 EXPORT UART1_IRQHandler         [WEAK]
211                 EXPORT UART2_IRQHandler         [WEAK]
212                 EXPORT UART3_IRQHandler         [WEAK]
213                 EXPORT I2S0_IRQHandler          [WEAK]
214                 EXPORT I2S1_IRQHandler          [WEAK]
215                 EXPORT SPIFI_IRQHandler         [WEAK]
216                 EXPORT SGPIO_IRQHandler         [WEAK]
217                 EXPORT GPIO0_IRQHandler         [WEAK]
218                 EXPORT GPIO1_IRQHandler         [WEAK]
219                 EXPORT GPIO2_IRQHandler         [WEAK]
220                 EXPORT GPIO3_IRQHandler         [WEAK]
221                 EXPORT GPIO4_IRQHandler         [WEAK]
222                 EXPORT GPIO5_IRQHandler         [WEAK]
223                 EXPORT GPIO6_IRQHandler         [WEAK]
224                 EXPORT GPIO7_IRQHandler         [WEAK]
225                 EXPORT GINT0_IRQHandler         [WEAK]
226                 EXPORT GINT1_IRQHandler         [WEAK]
227                 EXPORT EVRT_IRQHandler          [WEAK]
228                 EXPORT CAN1_IRQHandler          [WEAK]
229                 EXPORT VADC_IRQHandler          [WEAK]
230                 EXPORT ATIMER_IRQHandler        [WEAK]
231                 EXPORT RTC_IRQHandler           [WEAK]
232                 EXPORT WDT_IRQHandler           [WEAK]
233                 EXPORT CAN0_IRQHandler          [WEAK]
234                 EXPORT QEI_IRQHandler           [WEAK]
235
236 DAC_IRQHandler
237 MX_CORE_IRQHandler
238 DMA_IRQHandler
239 FLASHEEPROM_IRQHandler
240 ETH_IRQHandler
241 SDIO_IRQHandler
242 LCD_IRQHandler
243 USB0_IRQHandler
244 USB1_IRQHandler
245 SCT_IRQHandler
246 RIT_IRQHandler
247 TIMER0_IRQHandler
248 TIMER1_IRQHandler
249 TIMER2_IRQHandler
250 TIMER3_IRQHandler
251 MCPWM_IRQHandler
252 ADC0_IRQHandler
253 I2C0_IRQHandler
254 I2C1_IRQHandler
255 SPI_IRQHandler
256 ADC1_IRQHandler
257 SSP0_IRQHandler
258 SSP1_IRQHandler
259 UART0_IRQHandler
260 UART1_IRQHandler
261 UART2_IRQHandler
262 UART3_IRQHandler
263 I2S0_IRQHandler
264 I2S1_IRQHandler
265 SPIFI_IRQHandler
266 SGPIO_IRQHandler
267 GPIO0_IRQHandler
268 GPIO1_IRQHandler
269 GPIO2_IRQHandler
270 GPIO3_IRQHandler
271 GPIO4_IRQHandler
272 GPIO5_IRQHandler
273 GPIO6_IRQHandler
274 GPIO7_IRQHandler
275 GINT0_IRQHandler
276 GINT1_IRQHandler
277 EVRT_IRQHandler
278 CAN1_IRQHandler
279 VADC_IRQHandler
280 ATIMER_IRQHandler
281 RTC_IRQHandler
282 WDT_IRQHandler
283 CAN0_IRQHandler
284 QEI_IRQHandler
285
286                 B       .
287
288                 ENDP
289                 
290                 ALIGN
291                 END