]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_NXP/TARGET_LPC13XX/TOOLCHAIN_IAR/startup_LPC1347.s
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_NXP / TARGET_LPC13XX / TOOLCHAIN_IAR / startup_LPC1347.s
1 /**************************************************
2  *
3  * Part one of the system initialization code, contains low-level
4  * initialization, plain thumb variant.
5  *
6  * Copyright 2012 IAR Systems. All rights reserved.
7  *
8  * $Revision: 1106 $
9  *
10  **************************************************/
11
12 ;
13 ; The modules in this file are included in the libraries, and may be replaced
14 ; by any user-defined modules that define the PUBLIC symbol _program_start or
15 ; a user defined start symbol.
16 ; To override the cstartup defined in the library, simply add your modified
17 ; version to the workbench project.
18 ;
19 ; The vector table is normally located at address 0.
20 ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
21 ; The name "__vector_table" has special meaning for C-SPY:
22 ; it is where the SP start value is found, and the NVIC vector
23 ; table register (VTOR) is initialized to this address if != 0.
24 ;
25 ; Cortex-M version
26 ;
27
28         MODULE  ?cstartup
29
30         ;; Forward declaration of sections.
31         SECTION CSTACK:DATA:NOROOT(3)
32
33         SECTION .intvec:CODE:NOROOT(2)
34
35         EXTERN  __iar_program_start
36         EXTERN  SystemInit
37         PUBLIC  __vector_table
38         PUBLIC  __vector_table_0x1c
39
40         DATA
41 __vector_table
42         DCD     sfe(CSTACK)                 ; Top of Stack
43         DCD     Reset_Handler         ; Reset Handler
44         DCD     NMI_Handler                 ; NMI Handler
45         DCD     HardFault_Handler           ; Hard Fault Handler
46         DCD     MemManage_Handler           ; MPU Fault Handler
47         DCD     BusFault_Handler            ; Bus Fault Handler
48         DCD     UsageFault_Handler          ; Usage Fault Handler
49 __vector_table_0x1c
50         DCD     0                           ; Reserved
51         DCD     0                           ; Reserved
52         DCD     0                           ; Reserved
53         DCD     0                           ; Reserved
54         DCD     SVC_Handler                 ; SVCall Handler
55         DCD     DebugMon_Handler            ; Debug Monitor Handler
56         DCD     0                           ; Reserved
57         DCD     PendSV_Handler              ; PendSV Handler
58         DCD     SysTick_Handler             ; SysTick Handler
59         DCD     FLEX_INT0_IRQHandler        ; GPIO pin interrupt 0       
60         DCD     FLEX_INT1_IRQHandler        ; GPIO pin interrupt 1       
61         DCD     FLEX_INT2_IRQHandler        ; GPIO pin interrupt 2       
62         DCD     FLEX_INT3_IRQHandler        ; GPIO pin interrupt 3       
63         DCD     FLEX_INT4_IRQHandler        ; GPIO pin interrupt 4       
64         DCD     FLEX_INT5_IRQHandler        ; GPIO pin interrupt 5       
65         DCD     FLEX_INT6_IRQHandler        ; GPIO pin interrupt 6       
66         DCD     FLEX_INT7_IRQHandler        ; GPIO pin interrupt 7       
67         DCD     GINT0_IRQHandler            ; GPIO GROUP0 interrupt      
68         DCD     GINT1_IRQHandler            ; GPIO GROUP1 interrupt      
69         DCD     0                           ; Reserved
70         DCD     0                           ; Reserved
71         DCD     0                           ; Reserved
72         DCD     0                           ; Reserved
73         DCD     SSP1_IRQHandler             ; SSP1 interrupt             
74         DCD     I2C_IRQHandler              ; I2C interrupt              
75         DCD     CT16B0_IRQHandler           ; CT16B0 Match 0-3, Capture 0
76         DCD     CT16B1_IRQHandler           ; CT16B1 Match 0-3, Capture 0
77         DCD     CT32B0_IRQHandler           ; CT32B0 Match 0-3, Capture 0
78         DCD     CT32B1_IRQHandler           ; CT32B1 Match 0-3, Capture 0
79         DCD     SSP0_IRQHandler             ; SSP0 interrupt             
80         DCD     USART_IRQHandler            ; USART interrupt            
81         DCD     USB_IRQHandler              ; USB_IRQ interrupt          
82         DCD     USB_FIQHandler              ; USB_FIQ interrupt          
83         DCD     ADC_IRQHandler              ; ADC interrupt              
84         DCD     WWDT_IRQHandler             ; WWDT interrupt             
85         DCD     BOD_IRQHandler              ; BOD interrupt              
86         DCD     0                           ; Reserved
87         DCD     0                           ; Reserved
88         DCD     0                           ; Reserved
89         DCD     USBWakeup_IRQHandler        ; USB_WAKEUP interrupt       
90         
91 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
92 ;;
93 ;; Default interrupt handlers.
94 ;;
95         THUMB
96         PUBWEAK Reset_Handler
97         SECTION .text:CODE:NOROOT:REORDER(2)
98 Reset_Handler
99
100         LDR     R0, =SystemInit
101         BLX     R0
102         LDR     R0, =__iar_program_start
103         BX      R0
104         
105       PUBWEAK NMI_Handler       
106       PUBWEAK HardFault_Handler 
107       PUBWEAK MemManage_Handler 
108       PUBWEAK BusFault_Handler  
109       PUBWEAK UsageFault_Handler
110       PUBWEAK SVC_Handler       
111       PUBWEAK DebugMon_Handler  
112       PUBWEAK PendSV_Handler      
113       PUBWEAK SysTick_Handler     
114       PUBWEAK FLEX_INT0_IRQHandler 
115       PUBWEAK FLEX_INT1_IRQHandler 
116       PUBWEAK FLEX_INT2_IRQHandler 
117       PUBWEAK FLEX_INT3_IRQHandler 
118       PUBWEAK FLEX_INT4_IRQHandler 
119       PUBWEAK FLEX_INT5_IRQHandler 
120       PUBWEAK FLEX_INT6_IRQHandler 
121       PUBWEAK FLEX_INT7_IRQHandler 
122       PUBWEAK GINT0_IRQHandler    
123       PUBWEAK GINT1_IRQHandler    
124       PUBWEAK SSP1_IRQHandler     
125       PUBWEAK I2C_IRQHandler      
126       PUBWEAK CT16B0_IRQHandler   
127       PUBWEAK CT16B1_IRQHandler   
128       PUBWEAK CT32B0_IRQHandler   
129       PUBWEAK CT32B1_IRQHandler   
130       PUBWEAK SSP0_IRQHandler     
131       PUBWEAK USART_IRQHandler    
132       PUBWEAK USB_IRQHandler  
133       PUBWEAK USB_FIQHandler  
134       PUBWEAK ADC_IRQHandler      
135       PUBWEAK WWDT_IRQHandler     
136       PUBWEAK BOD_IRQHandler      
137       PUBWEAK USBWakeup_IRQHandler    
138
139       SECTION .text:CODE:REORDER:NOROOT(1)
140       THUMB
141       
142 NMI_Handler       
143 HardFault_Handler 
144 MemManage_Handler 
145 BusFault_Handler  
146 UsageFault_Handler
147 SVC_Handler       
148 DebugMon_Handler  
149 PendSV_Handler    
150 SysTick_Handler   
151 FLEX_INT0_IRQHandler 
152 FLEX_INT1_IRQHandler 
153 FLEX_INT2_IRQHandler 
154 FLEX_INT3_IRQHandler 
155 FLEX_INT4_IRQHandler 
156 FLEX_INT5_IRQHandler 
157 FLEX_INT6_IRQHandler 
158 FLEX_INT7_IRQHandler 
159 GINT0_IRQHandler    
160 GINT1_IRQHandler    
161 SSP1_IRQHandler     
162 I2C_IRQHandler      
163 CT16B0_IRQHandler   
164 CT16B1_IRQHandler   
165 CT32B0_IRQHandler   
166 CT32B1_IRQHandler   
167 SSP0_IRQHandler     
168 USART_IRQHandler    
169 USB_IRQHandler  
170 USB_FIQHandler  
171 ADC_IRQHandler      
172 WWDT_IRQHandler     
173 BOD_IRQHandler      
174 USBWakeup_IRQHandler
175 Default_Handler          
176         B Default_Handler 
177
178         END