]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_Freescale/TARGET_MCU_K64F/TOOLCHAIN_IAR/startup_MK64F12.s
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_Freescale / TARGET_MCU_K64F / TOOLCHAIN_IAR / startup_MK64F12.s
1 /**************************************************
2  *
3  * Copyright 2010 IAR Systems. All rights reserved.
4  *
5  * $Revision: 16 $
6  *
7  **************************************************/
8
9 ;
10 ; The modules in this file are included in the libraries, and may be replaced
11 ; by any user-defined modules that define the PUBLIC symbol _program_start or
12 ; a user defined start symbol.
13 ; To override the cstartup defined in the library, simply add your modified
14 ; version to the workbench project.
15 ;
16 ; The vector table is normally located at address 0.
17 ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
18 ; The name "__vector_table" has special meaning for C-SPY:
19 ; it is where the SP start value is found, and the NVIC vector
20 ; table register (VTOR) is initialized to this address if != 0.
21 ;
22 ; Cortex-M version
23 ;
24
25         MODULE  ?cstartup
26
27         ;; Forward declaration of sections.
28         SECTION CSTACK:DATA:NOROOT(3)
29
30         SECTION .intvec:CODE:ROOT(2)
31
32         EXTERN  __iar_program_start
33         EXTERN  SystemInit
34         PUBLIC  __vector_table
35
36         DATA
37 __vector_table
38         DCD     sfe(CSTACK)               ; Top of Stack
39         DCD     Reset_Handler       ; Reset Handler
40         DCD     NMI_Handler               ; NMI Handler
41         DCD     HardFault_Handler         ; Hard Fault Handler
42         DCD     MemManage_Handler         ; MPU Fault Handler
43         DCD     BusFault_Handler          ; Bus Fault Handler
44         DCD     UsageFault_Handler        ; Usage Fault Handler
45         DCD     0                         ; Reserved
46         DCD     0                         ; Reserved
47         DCD     0                         ; Reserved
48         DCD     0                         ; Reserved
49         DCD     SVC_Handler               ; SVCall Handler
50         DCD     DebugMon_Handler          ; Debug Monitor Handler
51         DCD     0                         ; Reserved
52         DCD     PendSV_Handler            ; PendSV Handler
53         DCD     SysTick_Handler           ; SysTick Handler
54         ; External Interrupts
55         DCD     DMA0_IRQHandler  ; DMA Channel 0 Transfer Complete
56         DCD     DMA1_IRQHandler  ; DMA Channel 1 Transfer Complete
57         DCD     DMA2_IRQHandler  ; DMA Channel 2 Transfer Complete
58         DCD     DMA3_IRQHandler  ; DMA Channel 3 Transfer Complete
59         DCD     DMA4_IRQHandler  ; DMA Channel 4 Transfer Complete
60         DCD     DMA5_IRQHandler  ; DMA Channel 5 Transfer Complete
61         DCD     DMA6_IRQHandler  ; DMA Channel 6 Transfer Complete
62         DCD     DMA7_IRQHandler  ; DMA Channel 7 Transfer Complete
63         DCD     DMA8_IRQHandler  ; DMA Channel 8 Transfer Complete
64         DCD     DMA9_IRQHandler  ; DMA Channel 9 Transfer Complete
65         DCD     DMA10_IRQHandler  ; DMA Channel 10 Transfer Complete
66         DCD     DMA11_IRQHandler  ; DMA Channel 11 Transfer Complete
67         DCD     DMA12_IRQHandler  ; DMA Channel 12 Transfer Complete
68         DCD     DMA13_IRQHandler  ; DMA Channel 13 Transfer Complete
69         DCD     DMA14_IRQHandler  ; DMA Channel 14 Transfer Complete
70         DCD     DMA15_IRQHandler  ; DMA Channel 15 Transfer Complete
71         DCD     DMA_Error_IRQHandler  ; DMA Error Interrupt
72         DCD     MCM_IRQHandler  ; Normal Interrupt
73         DCD     FTFE_IRQHandler  ; FTFE Command complete interrupt
74         DCD     Read_Collision_IRQHandler  ; Read Collision Interrupt
75         DCD     LVD_LVW_IRQHandler  ; Low Voltage Detect, Low Voltage Warning
76         DCD     LLW_IRQHandler  ; Low Leakage Wakeup
77         DCD     Watchdog_IRQHandler  ; WDOG Interrupt
78         DCD     RNG_IRQHandler  ; RNG Interrupt
79         DCD     I2C0_IRQHandler  ; I2C0 interrupt
80         DCD     I2C1_IRQHandler  ; I2C1 interrupt
81         DCD     SPI0_IRQHandler  ; SPI0 Interrupt
82         DCD     SPI1_IRQHandler  ; SPI1 Interrupt
83         DCD     I2S0_Tx_IRQHandler  ; I2S0 transmit interrupt
84         DCD     I2S0_Rx_IRQHandler  ; I2S0 receive interrupt
85         DCD     UART0_LON_IRQHandler  ; UART0 LON interrupt
86         DCD     UART0_RX_TX_IRQHandler  ; UART0 Receive/Transmit interrupt
87         DCD     UART0_ERR_IRQHandler  ; UART0 Error interrupt
88         DCD     UART1_RX_TX_IRQHandler  ; UART1 Receive/Transmit interrupt
89         DCD     UART1_ERR_IRQHandler  ; UART1 Error interrupt
90         DCD     UART2_RX_TX_IRQHandler  ; UART2 Receive/Transmit interrupt
91         DCD     UART2_ERR_IRQHandler  ; UART2 Error interrupt
92         DCD     UART3_RX_TX_IRQHandler  ; UART3 Receive/Transmit interrupt
93         DCD     UART3_ERR_IRQHandler  ; UART3 Error interrupt
94         DCD     ADC0_IRQHandler  ; ADC0 interrupt
95         DCD     CMP0_IRQHandler  ; CMP0 interrupt
96         DCD     CMP1_IRQHandler  ; CMP1 interrupt
97         DCD     FTM0_IRQHandler  ; FTM0 fault, overflow and channels interrupt
98         DCD     FTM1_IRQHandler  ; FTM1 fault, overflow and channels interrupt
99         DCD     FTM2_IRQHandler  ; FTM2 fault, overflow and channels interrupt
100         DCD     CMT_IRQHandler  ; CMT interrupt
101         DCD     RTC_IRQHandler  ; RTC interrupt
102         DCD     RTC_Seconds_IRQHandler  ; RTC seconds interrupt
103         DCD     PIT0_IRQHandler  ; PIT timer channel 0 interrupt
104         DCD     PIT1_IRQHandler  ; PIT timer channel 1 interrupt
105         DCD     PIT2_IRQHandler  ; PIT timer channel 2 interrupt
106         DCD     PIT3_IRQHandler  ; PIT timer channel 3 interrupt
107         DCD     PDB0_IRQHandler  ; PDB0 Interrupt
108         DCD     USB0_IRQHandler  ; USB0 interrupt
109         DCD     USBDCD_IRQHandler  ; USBDCD Interrupt
110         DCD     Reserved71_IRQHandler  ; Reserved interrupt 71
111         DCD     DAC0_IRQHandler  ; DAC0 interrupt
112         DCD     MCG_IRQHandler  ; MCG Interrupt
113         DCD     LPTimer_IRQHandler  ; LPTimer interrupt
114         DCD     PORTA_IRQHandler  ; Port A interrupt
115         DCD     PORTB_IRQHandler  ; Port B interrupt
116         DCD     PORTC_IRQHandler  ; Port C interrupt
117         DCD     PORTD_IRQHandler  ; Port D interrupt
118         DCD     PORTE_IRQHandler  ; Port E interrupt
119         DCD     SWI_IRQHandler  ; Software interrupt
120         DCD     SPI2_IRQHandler  ; SPI2 Interrupt
121         DCD     UART4_RX_TX_IRQHandler  ; UART4 Receive/Transmit interrupt
122         DCD     UART4_ERR_IRQHandler  ; UART4 Error interrupt
123         DCD     UART5_RX_TX_IRQHandler  ; UART5 Receive/Transmit interrupt
124         DCD     UART5_ERR_IRQHandler  ; UART5 Error interrupt
125         DCD     CMP2_IRQHandler  ; CMP2 interrupt
126         DCD     FTM3_IRQHandler  ; FTM3 fault, overflow and channels interrupt
127         DCD     DAC1_IRQHandler  ; DAC1 interrupt
128         DCD     ADC1_IRQHandler  ; ADC1 interrupt
129         DCD     I2C2_IRQHandler  ; I2C2 interrupt
130         DCD     CAN0_ORed_Message_buffer_IRQHandler  ; CAN0 OR'd message buffers interrupt
131         DCD     CAN0_Bus_Off_IRQHandler  ; CAN0 bus off interrupt
132         DCD     CAN0_Error_IRQHandler  ; CAN0 error interrupt
133         DCD     CAN0_Tx_Warning_IRQHandler  ; CAN0 Tx warning interrupt
134         DCD     CAN0_Rx_Warning_IRQHandler  ; CAN0 Rx warning interrupt
135         DCD     CAN0_Wake_Up_IRQHandler  ; CAN0 wake up interrupt
136         DCD     SDHC_IRQHandler  ; SDHC interrupt
137         DCD     ENET_1588_Timer_IRQHandler  ; Ethernet MAC IEEE 1588 Timer Interrupt
138         DCD     ENET_Transmit_IRQHandler  ; Ethernet MAC Transmit Interrupt
139         DCD     ENET_Receive_IRQHandler  ; Ethernet MAC Receive Interrupt
140         DCD     ENET_Error_IRQHandler  ; Ethernet MAC Error and miscelaneous Interrupt
141
142 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
143 ;;Flash Configuration
144 ;;16-byte flash configuration field that stores default protection settings (loaded on reset)
145 ;;and security information that allows the MCU to restrict acces to the FTFL module.
146
147 BackDoorK0      EQU     0xFF
148 BackDoorK1      EQU     0xFF
149 BackDoorK2      EQU     0xFF
150 BackDoorK3      EQU     0xFF
151 BackDoorK4      EQU     0xFF
152 BackDoorK5      EQU     0xFF
153 BackDoorK6      EQU     0xFF
154 BackDoorK7      EQU     0xFF
155
156 nFPROT0         EQU     0x00
157 FPROT0          EQU     nFPROT0^0xFF
158
159 nFPROT1         EQU     0x00
160 FPROT1          EQU     nFPROT1^0xFF
161
162 nFPROT2         EQU     0x00
163 FPROT2          EQU     nFPROT2^0xFF
164
165 nFPROT3         EQU     0x00
166 FPROT3          EQU     nFPROT3^0xFF
167
168 nFEPROT         EQU     0x00
169 FEPROT          EQU     nFEPROT^0xFF
170
171 nFDPROT         EQU     0x00
172 FDPROT          EQU     nFDPROT^0xFF
173
174 FOPT            EQU     0xFD        
175
176 FSEC            EQU     0xFE        
177         SECTION FlashConfig:CONST:REORDER:ROOT(2)
178 Config:
179         DATA
180         DCB     BackDoorK0, BackDoorK1, BackDoorK2, BackDoorK3
181         DCB     BackDoorK4, BackDoorK5, BackDoorK6, BackDoorK7
182         DCB     FPROT0,     FPROT1,     FPROT2,     FPROT3
183         DCB     FSEC,       FOPT,       FEPROT,     FDPROT        
184 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
185 ;;
186 ;; Default interrupt handlers.
187 ;;
188         THUMB
189         PUBWEAK Reset_Handler
190         SECTION .text:CODE:NOROOT:REORDER(2)
191 Reset_Handler
192
193         LDR     R0, =SystemInit
194         BLX     R0
195         LDR     R0, =__iar_program_start
196         BX      R0
197
198       PUBWEAK NMI_Handler
199       PUBWEAK HardFault_Handler
200       PUBWEAK MemManage_Handler
201       PUBWEAK BusFault_Handler
202       PUBWEAK UsageFault_Handler
203       PUBWEAK SVC_Handler
204       PUBWEAK DebugMon_Handler
205       PUBWEAK PendSV_Handler
206       PUBWEAK SysTick_Handler
207       PUBWEAK DMA0_IRQHandler
208       PUBWEAK DMA1_IRQHandler
209       PUBWEAK DMA2_IRQHandler
210       PUBWEAK DMA3_IRQHandler
211       PUBWEAK DMA4_IRQHandler
212       PUBWEAK DMA5_IRQHandler
213       PUBWEAK DMA6_IRQHandler
214       PUBWEAK DMA7_IRQHandler
215       PUBWEAK DMA8_IRQHandler
216       PUBWEAK DMA9_IRQHandler
217       PUBWEAK DMA10_IRQHandler
218       PUBWEAK DMA11_IRQHandler
219       PUBWEAK DMA12_IRQHandler
220       PUBWEAK DMA13_IRQHandler
221       PUBWEAK DMA14_IRQHandler
222       PUBWEAK DMA15_IRQHandler
223       PUBWEAK DMA_Error_IRQHandler
224       PUBWEAK MCM_IRQHandler
225       PUBWEAK FTFE_IRQHandler
226       PUBWEAK Read_Collision_IRQHandler
227       PUBWEAK LVD_LVW_IRQHandler
228       PUBWEAK LLW_IRQHandler
229       PUBWEAK Watchdog_IRQHandler
230       PUBWEAK RNG_IRQHandler
231       PUBWEAK I2C0_IRQHandler
232       PUBWEAK I2C1_IRQHandler
233       PUBWEAK SPI0_IRQHandler
234       PUBWEAK SPI1_IRQHandler
235       PUBWEAK I2S0_Tx_IRQHandler
236       PUBWEAK I2S0_Rx_IRQHandler
237       PUBWEAK UART0_LON_IRQHandler
238       PUBWEAK UART0_RX_TX_IRQHandler
239       PUBWEAK UART0_ERR_IRQHandler
240       PUBWEAK UART1_RX_TX_IRQHandler
241       PUBWEAK UART1_ERR_IRQHandler
242       PUBWEAK UART2_RX_TX_IRQHandler
243       PUBWEAK UART2_ERR_IRQHandler
244       PUBWEAK UART3_RX_TX_IRQHandler
245       PUBWEAK UART3_ERR_IRQHandler
246       PUBWEAK ADC0_IRQHandler
247       PUBWEAK CMP0_IRQHandler
248       PUBWEAK CMP1_IRQHandler
249       PUBWEAK FTM0_IRQHandler
250       PUBWEAK FTM1_IRQHandler
251       PUBWEAK FTM2_IRQHandler
252       PUBWEAK CMT_IRQHandler
253       PUBWEAK RTC_IRQHandler
254       PUBWEAK RTC_Seconds_IRQHandler
255       PUBWEAK PIT0_IRQHandler
256       PUBWEAK PIT1_IRQHandler
257       PUBWEAK PIT2_IRQHandler
258       PUBWEAK PIT3_IRQHandler
259       PUBWEAK PDB0_IRQHandler
260       PUBWEAK USB0_IRQHandler
261       PUBWEAK USBDCD_IRQHandler
262       PUBWEAK Reserved71_IRQHandler
263       PUBWEAK DAC0_IRQHandler
264       PUBWEAK MCG_IRQHandler
265       PUBWEAK LPTimer_IRQHandler
266       PUBWEAK PORTA_IRQHandler
267       PUBWEAK PORTB_IRQHandler
268       PUBWEAK PORTC_IRQHandler
269       PUBWEAK PORTD_IRQHandler
270       PUBWEAK PORTE_IRQHandler
271       PUBWEAK SWI_IRQHandler
272       PUBWEAK SPI2_IRQHandler
273       PUBWEAK UART4_RX_TX_IRQHandler
274       PUBWEAK UART4_ERR_IRQHandler
275       PUBWEAK UART5_RX_TX_IRQHandler
276       PUBWEAK UART5_ERR_IRQHandler
277       PUBWEAK CMP2_IRQHandler
278       PUBWEAK FTM3_IRQHandler
279       PUBWEAK DAC1_IRQHandler
280       PUBWEAK ADC1_IRQHandler
281       PUBWEAK I2C2_IRQHandler
282       PUBWEAK CAN0_ORed_Message_buffer_IRQHandler
283       PUBWEAK CAN0_Bus_Off_IRQHandler
284       PUBWEAK CAN0_Error_IRQHandler
285       PUBWEAK CAN0_Tx_Warning_IRQHandler
286       PUBWEAK CAN0_Rx_Warning_IRQHandler
287       PUBWEAK CAN0_Wake_Up_IRQHandler
288       PUBWEAK SDHC_IRQHandler
289       PUBWEAK ENET_1588_Timer_IRQHandler
290       PUBWEAK ENET_Transmit_IRQHandler
291       PUBWEAK ENET_Receive_IRQHandler
292       PUBWEAK ENET_Error_IRQHandler
293
294       SECTION .text:CODE:REORDER:NOROOT(1)
295       THUMB
296 NMI_Handler
297 HardFault_Handler
298 MemManage_Handler
299 BusFault_Handler
300 UsageFault_Handler
301 SVC_Handler
302 DebugMon_Handler
303 PendSV_Handler
304 SysTick_Handler
305 DMA0_IRQHandler
306 DMA1_IRQHandler
307 DMA2_IRQHandler
308 DMA3_IRQHandler
309 DMA4_IRQHandler
310 DMA5_IRQHandler
311 DMA6_IRQHandler
312 DMA7_IRQHandler
313 DMA8_IRQHandler
314 DMA9_IRQHandler
315 DMA10_IRQHandler
316 DMA11_IRQHandler
317 DMA12_IRQHandler
318 DMA13_IRQHandler
319 DMA14_IRQHandler
320 DMA15_IRQHandler
321 DMA_Error_IRQHandler
322 MCM_IRQHandler
323 FTFE_IRQHandler
324 Read_Collision_IRQHandler
325 LVD_LVW_IRQHandler
326 LLW_IRQHandler
327 Watchdog_IRQHandler
328 RNG_IRQHandler
329 I2C0_IRQHandler
330 I2C1_IRQHandler
331 SPI0_IRQHandler
332 SPI1_IRQHandler
333 I2S0_Tx_IRQHandler
334 I2S0_Rx_IRQHandler
335 UART0_LON_IRQHandler
336 UART0_RX_TX_IRQHandler
337 UART0_ERR_IRQHandler
338 UART1_RX_TX_IRQHandler
339 UART1_ERR_IRQHandler
340 UART2_RX_TX_IRQHandler
341 UART2_ERR_IRQHandler
342 UART3_RX_TX_IRQHandler
343 UART3_ERR_IRQHandler
344 ADC0_IRQHandler
345 CMP0_IRQHandler
346 CMP1_IRQHandler
347 FTM0_IRQHandler
348 FTM1_IRQHandler
349 FTM2_IRQHandler
350 CMT_IRQHandler
351 RTC_IRQHandler
352 RTC_Seconds_IRQHandler
353 PIT0_IRQHandler
354 PIT1_IRQHandler
355 PIT2_IRQHandler
356 PIT3_IRQHandler
357 PDB0_IRQHandler
358 USB0_IRQHandler
359 USBDCD_IRQHandler
360 Reserved71_IRQHandler
361 DAC0_IRQHandler
362 MCG_IRQHandler
363 LPTimer_IRQHandler
364 PORTA_IRQHandler
365 PORTB_IRQHandler
366 PORTC_IRQHandler
367 PORTD_IRQHandler
368 PORTE_IRQHandler
369 SWI_IRQHandler
370 SPI2_IRQHandler
371 UART4_RX_TX_IRQHandler
372 UART4_ERR_IRQHandler
373 UART5_RX_TX_IRQHandler
374 UART5_ERR_IRQHandler
375 CMP2_IRQHandler
376 FTM3_IRQHandler
377 DAC1_IRQHandler
378 ADC1_IRQHandler
379 I2C2_IRQHandler
380 CAN0_ORed_Message_buffer_IRQHandler
381 CAN0_Bus_Off_IRQHandler
382 CAN0_Error_IRQHandler
383 CAN0_Tx_Warning_IRQHandler
384 CAN0_Rx_Warning_IRQHandler
385 CAN0_Wake_Up_IRQHandler
386 SDHC_IRQHandler
387 ENET_1588_Timer_IRQHandler
388 ENET_Transmit_IRQHandler
389 ENET_Receive_IRQHandler
390 ENET_Error_IRQHandler
391 Default_Handler
392
393         B Default_Handler
394         END