]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC176X/TOOLCHAIN_ARM_STD/startup_LPC17xx.s
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_NXP / TARGET_LPC176X / TOOLCHAIN_ARM_STD / startup_LPC17xx.s
1 ;/*****************************************************************************
2 ; * @file:    startup_LPC17xx.s
3 ; * @purpose: CMSIS Cortex-M3 Core Device Startup File 
4 ; *           for the NXP LPC17xx Device Series 
5 ; * @version: V1.02, modified for mbed
6 ; * @date:    27. July 2009, modified 3rd Aug 2009
7 ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
8 ; *
9 ; * Copyright (C) 2009 ARM Limited. All rights reserved.
10 ; * ARM Limited (ARM) is supplying this software for use with Cortex-M3 
11 ; * processor based microcontrollers.  This file can be freely distributed 
12 ; * within development tools that are supporting such ARM based processors. 
13 ; *
14 ; * THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
15 ; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
16 ; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
17 ; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
18 ; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
19 ; *
20 ; *****************************************************************************/
21
22 __initial_sp        EQU     0x10008000  ; Top of RAM from LPC1768
23
24                 PRESERVE8
25                 THUMB
26
27 ; Vector Table Mapped to Address 0 at Reset
28
29                 AREA    RESET, DATA, READONLY
30                 EXPORT  __Vectors
31
32 __Vectors       DCD     __initial_sp              ; Top of Stack
33                 DCD     Reset_Handler             ; Reset Handler
34                 DCD     NMI_Handler               ; NMI Handler
35                 DCD     HardFault_Handler         ; Hard Fault Handler
36                 DCD     MemManage_Handler         ; MPU Fault Handler
37                 DCD     BusFault_Handler          ; Bus Fault Handler
38                 DCD     UsageFault_Handler        ; Usage Fault Handler
39                 DCD     0                         ; Reserved
40                 DCD     0                         ; Reserved
41                 DCD     0                         ; Reserved
42                 DCD     0                         ; Reserved
43                 DCD     SVC_Handler               ; SVCall Handler
44                 DCD     DebugMon_Handler          ; Debug Monitor Handler
45                 DCD     0                         ; Reserved
46                 DCD     PendSV_Handler            ; PendSV Handler
47                 DCD     SysTick_Handler           ; SysTick Handler
48
49                 ; External Interrupts
50                 DCD     WDT_IRQHandler            ; 16: Watchdog Timer
51                 DCD     TIMER0_IRQHandler         ; 17: Timer0
52                 DCD     TIMER1_IRQHandler         ; 18: Timer1
53                 DCD     TIMER2_IRQHandler         ; 19: Timer2
54                 DCD     TIMER3_IRQHandler         ; 20: Timer3
55                 DCD     UART0_IRQHandler          ; 21: UART0
56                 DCD     UART1_IRQHandler          ; 22: UART1
57                 DCD     UART2_IRQHandler          ; 23: UART2
58                 DCD     UART3_IRQHandler          ; 24: UART3
59                 DCD     PWM1_IRQHandler           ; 25: PWM1
60                 DCD     I2C0_IRQHandler           ; 26: I2C0
61                 DCD     I2C1_IRQHandler           ; 27: I2C1
62                 DCD     I2C2_IRQHandler           ; 28: I2C2
63                 DCD     SPI_IRQHandler            ; 29: SPI
64                 DCD     SSP0_IRQHandler           ; 30: SSP0
65                 DCD     SSP1_IRQHandler           ; 31: SSP1
66                 DCD     PLL0_IRQHandler           ; 32: PLL0 Lock (Main PLL)
67                 DCD     RTC_IRQHandler            ; 33: Real Time Clock
68                 DCD     EINT0_IRQHandler          ; 34: External Interrupt 0
69                 DCD     EINT1_IRQHandler          ; 35: External Interrupt 1
70                 DCD     EINT2_IRQHandler          ; 36: External Interrupt 2
71                 DCD     EINT3_IRQHandler          ; 37: External Interrupt 3
72                 DCD     ADC_IRQHandler            ; 38: A/D Converter
73                 DCD     BOD_IRQHandler            ; 39: Brown-Out Detect
74                 DCD     USB_IRQHandler            ; 40: USB
75                 DCD     CAN_IRQHandler            ; 41: CAN
76                 DCD     DMA_IRQHandler            ; 42: General Purpose DMA
77                 DCD     I2S_IRQHandler            ; 43: I2S
78                 DCD     ENET_IRQHandler           ; 44: Ethernet
79                 DCD     RIT_IRQHandler            ; 45: Repetitive Interrupt Timer
80                 DCD     MCPWM_IRQHandler          ; 46: Motor Control PWM
81                 DCD     QEI_IRQHandler            ; 47: Quadrature Encoder Interface
82                 DCD     PLL1_IRQHandler           ; 48: PLL1 Lock (USB PLL)
83
84
85                 IF      :LNOT::DEF:NO_CRP
86                 AREA    |.ARM.__at_0x02FC|, CODE, READONLY
87 CRP_Key         DCD     0xFFFFFFFF
88                 ENDIF
89
90
91                 AREA    |.text|, CODE, READONLY
92
93
94 ; Reset Handler
95
96 Reset_Handler   PROC
97                 EXPORT  Reset_Handler             [WEAK]
98                 IMPORT  SystemInit
99                 IMPORT  __main
100                 LDR     R0, =SystemInit
101                 BLX     R0
102                 LDR     R0, =__main
103                 BX      R0
104                 ENDP
105
106
107 ; Dummy Exception Handlers (infinite loops which can be modified)                
108
109 NMI_Handler     PROC
110                 EXPORT  NMI_Handler               [WEAK]
111                 B       .
112                 ENDP
113 HardFault_Handler\
114                 PROC
115                 EXPORT  HardFault_Handler         [WEAK]
116                 B       .
117                 ENDP
118 MemManage_Handler\
119                 PROC
120                 EXPORT  MemManage_Handler         [WEAK]
121                 B       .
122                 ENDP
123 BusFault_Handler\
124                 PROC
125                 EXPORT  BusFault_Handler          [WEAK]
126                 B       .
127                 ENDP
128 UsageFault_Handler\
129                 PROC
130                 EXPORT  UsageFault_Handler        [WEAK]
131                 B       .
132                 ENDP
133 SVC_Handler     PROC
134                 EXPORT  SVC_Handler               [WEAK]
135                 B       .
136                 ENDP
137 DebugMon_Handler\
138                 PROC
139                 EXPORT  DebugMon_Handler          [WEAK]
140                 B       .
141                 ENDP
142 PendSV_Handler  PROC
143                 EXPORT  PendSV_Handler            [WEAK]
144                 B       .
145                 ENDP
146 SysTick_Handler PROC
147                 EXPORT  SysTick_Handler           [WEAK]
148                 B       .
149                 ENDP
150
151 Default_Handler PROC
152
153                 EXPORT  WDT_IRQHandler            [WEAK]
154                 EXPORT  TIMER0_IRQHandler         [WEAK]
155                 EXPORT  TIMER1_IRQHandler         [WEAK]
156                 EXPORT  TIMER2_IRQHandler         [WEAK]
157                 EXPORT  TIMER3_IRQHandler         [WEAK]
158                 EXPORT  UART0_IRQHandler          [WEAK]
159                 EXPORT  UART1_IRQHandler          [WEAK]
160                 EXPORT  UART2_IRQHandler          [WEAK]
161                 EXPORT  UART3_IRQHandler          [WEAK]
162                 EXPORT  PWM1_IRQHandler           [WEAK]
163                 EXPORT  I2C0_IRQHandler           [WEAK]
164                 EXPORT  I2C1_IRQHandler           [WEAK]
165                 EXPORT  I2C2_IRQHandler           [WEAK]
166                 EXPORT  SPI_IRQHandler            [WEAK]
167                 EXPORT  SSP0_IRQHandler           [WEAK]
168                 EXPORT  SSP1_IRQHandler           [WEAK]
169                 EXPORT  PLL0_IRQHandler           [WEAK]
170                 EXPORT  RTC_IRQHandler            [WEAK]
171                 EXPORT  EINT0_IRQHandler          [WEAK]
172                 EXPORT  EINT1_IRQHandler          [WEAK]
173                 EXPORT  EINT2_IRQHandler          [WEAK]
174                 EXPORT  EINT3_IRQHandler          [WEAK]
175                 EXPORT  ADC_IRQHandler            [WEAK]
176                 EXPORT  BOD_IRQHandler            [WEAK]
177                 EXPORT  USB_IRQHandler            [WEAK]
178                 EXPORT  CAN_IRQHandler            [WEAK]
179                 EXPORT  DMA_IRQHandler            [WEAK]
180                 EXPORT  I2S_IRQHandler            [WEAK]
181                 EXPORT  ENET_IRQHandler           [WEAK]
182                 EXPORT  RIT_IRQHandler            [WEAK]
183                 EXPORT  MCPWM_IRQHandler          [WEAK]
184                 EXPORT  QEI_IRQHandler            [WEAK]
185                 EXPORT  PLL1_IRQHandler           [WEAK]
186
187 WDT_IRQHandler           
188 TIMER0_IRQHandler         
189 TIMER1_IRQHandler         
190 TIMER2_IRQHandler         
191 TIMER3_IRQHandler         
192 UART0_IRQHandler          
193 UART1_IRQHandler          
194 UART2_IRQHandler          
195 UART3_IRQHandler          
196 PWM1_IRQHandler           
197 I2C0_IRQHandler           
198 I2C1_IRQHandler           
199 I2C2_IRQHandler           
200 SPI_IRQHandler            
201 SSP0_IRQHandler           
202 SSP1_IRQHandler           
203 PLL0_IRQHandler           
204 RTC_IRQHandler            
205 EINT0_IRQHandler          
206 EINT1_IRQHandler          
207 EINT2_IRQHandler          
208 EINT3_IRQHandler          
209 ADC_IRQHandler            
210 BOD_IRQHandler            
211 USB_IRQHandler            
212 CAN_IRQHandler            
213 DMA_IRQHandler          
214 I2S_IRQHandler            
215 ENET_IRQHandler       
216 RIT_IRQHandler          
217 MCPWM_IRQHandler             
218 QEI_IRQHandler            
219 PLL1_IRQHandler           
220
221                 B       .
222
223                 ENDP
224                 
225                 ALIGN
226                 END