]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC13XX/TOOLCHAIN_ARM_MICRO/startup_LPC13xx.s
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_NXP / TARGET_LPC13XX / TOOLCHAIN_ARM_MICRO / startup_LPC13xx.s
1 ;/*****************************************************************************
2 ; * @file:    startup_LPC13xx.s
3 ; * @purpose: CMSIS Cortex-M3 Core Device Startup File 
4 ; *           for the NXP LPC13xx 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 Stack_Size      EQU     0x00000400
22
23                 AREA    STACK, NOINIT, READWRITE, ALIGN=3
24                 EXPORT  __initial_sp
25
26 Stack_Mem       SPACE   Stack_Size
27 __initial_sp    EQU     0x10002000  ; Top of RAM from LPC1347
28
29
30 Heap_Size       EQU     0x00000000
31
32                 AREA    HEAP, NOINIT, READWRITE, ALIGN=3
33                 EXPORT  __heap_base
34                 EXPORT  __heap_limit
35
36 __heap_base
37 Heap_Mem        SPACE   Heap_Size
38 __heap_limit
39
40                 PRESERVE8
41                 THUMB
42
43 ; Vector Table Mapped to Address 0 at Reset
44
45                 AREA    RESET, DATA, READONLY
46                 EXPORT  __Vectors
47
48 __Vectors       DCD     __initial_sp              ; Top of Stack
49                 DCD     Reset_Handler             ; Reset Handler
50                 DCD     NMI_Handler               ; NMI Handler
51                 DCD     HardFault_Handler         ; Hard Fault Handler
52                 DCD     MemManage_Handler         ; MPU Fault Handler
53                 DCD     BusFault_Handler          ; Bus Fault Handler
54                 DCD     UsageFault_Handler        ; Usage Fault Handler
55                 DCD     0                         ; Reserved
56                 DCD     0                         ; Reserved
57                 DCD     0                         ; Reserved
58                 DCD     0                         ; Reserved
59                 DCD     SVC_Handler               ; SVCall Handler
60                 DCD     DebugMon_Handler          ; Debug Monitor Handler
61                 DCD     0                         ; Reserved
62                 DCD     PendSV_Handler            ; PendSV Handler
63                 DCD     SysTick_Handler           ; SysTick Handler
64
65                 ; External Interrupts
66
67                 DCD    PIN_INT0_Handler      ; All GPIO pin can be routed to PIN_INTx
68                 DCD    PIN_INT1_Handler
69                 DCD    PIN_INT2_Handler
70                 DCD    PIN_INT3_Handler
71                 DCD    PIN_INT4_Handler
72                 DCD    PIN_INT5_Handler
73                 DCD    PIN_INT6_Handler
74                 DCD    PIN_INT7_Handler
75                 DCD    GINT0_Handler
76                 DCD    GINT1_Handler         ; PIO0 (0:7) 
77                 DCD    0
78                 DCD    0
79                 DCD    OSTIMER_Handler
80                 DCD    0
81                 DCD    SSP1_Handler          ; SSP1 
82                 DCD    I2C_Handler           ; I2C 
83                 DCD    CT16B0_Handler        ; 16-bit Timer0 
84                 DCD    CT16B1_Handler        ; 16-bit Timer1 
85                 DCD    CT32B0_Handler        ; 32-bit Timer0 
86                 DCD    CT32B1_Handler        ; 32-bit Timer1 
87                 DCD    SSP0_Handler          ; SSP0 
88                 DCD    USART_Handler         ; USART 
89                 DCD    USB_Handler           ; USB IRQ 
90                 DCD    USB_FIQHandler        ; USB FIQ 
91                 DCD    ADC_Handler           ; A/D Converter 
92                 DCD    WDT_Handler           ; Watchdog timer 
93                 DCD    BOD_Handler           ; Brown Out Detect 
94                 DCD    FMC_Handler           ; IP2111 Flash Memory Controller 
95                 DCD    OSCFAIL_Handler       ; OSC FAIL 
96                 DCD    PVTCIRCUIT_Handler    ; PVT CIRCUIT 
97                 DCD    USBWakeup_Handler     ; USB wake up 
98                 DCD    0
99
100                 IF      :LNOT::DEF:NO_CRP
101                 AREA    |.ARM.__at_0x02FC|, CODE, READONLY
102 CRP_Key         DCD     0xFFFFFFFF
103                 ENDIF
104
105
106                 AREA    |.text|, CODE, READONLY
107
108
109 ; Reset Handler
110
111 Reset_Handler   PROC
112                 EXPORT  Reset_Handler             [WEAK]
113                 IMPORT  SystemInit
114                 IMPORT  __main
115                 LDR     R0, =SystemInit
116                 BLX     R0
117                 LDR     R0, =__main
118                 BX      R0
119                 ENDP
120
121
122 ; Dummy Exception Handlers (infinite loops which can be modified)                
123
124 NMI_Handler     PROC
125                 EXPORT  NMI_Handler               [WEAK]
126                 B       .
127                 ENDP
128 HardFault_Handler\
129                 PROC
130                 EXPORT  HardFault_Handler         [WEAK]
131                 B       .
132                 ENDP
133 MemManage_Handler\
134                 PROC
135                 EXPORT  MemManage_Handler         [WEAK]
136                 B       .
137                 ENDP
138 BusFault_Handler\
139                 PROC
140                 EXPORT  BusFault_Handler          [WEAK]
141                 B       .
142                 ENDP
143 UsageFault_Handler\
144                 PROC
145                 EXPORT  UsageFault_Handler        [WEAK]
146                 B       .
147                 ENDP
148 SVC_Handler     PROC
149                 EXPORT  SVC_Handler               [WEAK]
150                 B       .
151                 ENDP
152 DebugMon_Handler\
153                 PROC
154                 EXPORT  DebugMon_Handler          [WEAK]
155                 B       .
156                 ENDP
157 PendSV_Handler  PROC
158                 EXPORT  PendSV_Handler            [WEAK]
159                 B       .
160                 ENDP
161 SysTick_Handler PROC
162                 EXPORT  SysTick_Handler           [WEAK]
163                 B       .
164                 ENDP
165
166 Default_Handler PROC
167
168                 EXPORT  PIN_INT0_Handler          [WEAK]
169                 EXPORT  PIN_INT1_Handler          [WEAK]
170                 EXPORT  PIN_INT2_Handler          [WEAK]
171                 EXPORT  PIN_INT3_Handler          [WEAK]
172                 EXPORT  PIN_INT4_Handler          [WEAK]
173                 EXPORT  PIN_INT5_Handler          [WEAK]
174                 EXPORT  PIN_INT6_Handler          [WEAK]
175                 EXPORT  PIN_INT7_Handler          [WEAK]
176                 EXPORT  GINT0_Handler             [WEAK]
177                 EXPORT  GINT1_Handler             [WEAK]
178                 EXPORT  OSTIMER_Handler           [WEAK]
179                 EXPORT  SSP1_Handler              [WEAK]
180                 EXPORT  I2C_Handler               [WEAK]
181                 EXPORT  CT16B0_Handler            [WEAK]
182                 EXPORT  CT16B1_Handler            [WEAK]
183                 EXPORT  CT32B0_Handler            [WEAK]
184                 EXPORT  CT32B1_Handler            [WEAK]
185                 EXPORT  SSP0_Handler              [WEAK]
186                 EXPORT  USART_Handler             [WEAK]
187                 EXPORT  USB_Handler               [WEAK]
188                 EXPORT  USB_FIQHandler            [WEAK]
189                 EXPORT  ADC_Handler               [WEAK]
190                 EXPORT  WDT_Handler               [WEAK]
191                 EXPORT  BOD_Handler               [WEAK]
192                 EXPORT  FMC_Handler               [WEAK]
193                 EXPORT  OSCFAIL_Handler           [WEAK]
194                 EXPORT  PVTCIRCUIT_Handler        [WEAK]
195                 EXPORT  USBWakeup_Handler         [WEAK]
196   
197 PIN_INT0_Handler
198 PIN_INT1_Handler
199 PIN_INT2_Handler
200 PIN_INT3_Handler
201 PIN_INT4_Handler
202 PIN_INT5_Handler
203 PIN_INT6_Handler
204 PIN_INT7_Handler
205 GINT0_Handler
206 GINT1_Handler
207 OSTIMER_Handler
208 SSP1_Handler
209 I2C_Handler
210 CT16B0_Handler
211 CT16B1_Handler
212 CT32B0_Handler
213 CT32B1_Handler
214 SSP0_Handler
215 USART_Handler
216 USB_Handler
217 USB_FIQHandler
218 ADC_Handler
219 WDT_Handler
220 BOD_Handler
221 FMC_Handler
222 OSCFAIL_Handler
223 PVTCIRCUIT_Handler
224 USBWakeup_Handler
225
226                 B       .
227
228                 ENDP
229                 
230                 ALIGN
231                 END