1 ;/*****************************************************************************
2 ; * @file: startup_MK22F12.s
3 ; * @purpose: CMSIS Cortex-M4 Core Device Startup File for the
8 ; * Copyright: 1997 - 2013 Freescale Semiconductor, Inc. All Rights Reserved.
10 ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
12 ; *****************************************************************************/
15 __initial_sp EQU 0x20010000 ; Top of RAM
21 ; Vector Table Mapped to Address 0 at Reset
23 AREA RESET, DATA, READONLY
28 __Vectors DCD __initial_sp ; Top of Stack
29 DCD Reset_Handler ; Reset Handler
30 DCD NMI_Handler ; NMI Handler
31 DCD HardFault_Handler ; Hard Fault Handler
32 DCD MemManage_Handler ; MPU Fault Handler
33 DCD BusFault_Handler ; Bus Fault Handler
34 DCD UsageFault_Handler ; Usage Fault Handler
39 DCD SVC_Handler ; SVCall Handler
40 DCD DebugMon_Handler ; Debug Monitor Handler
42 DCD PendSV_Handler ; PendSV Handler
43 DCD SysTick_Handler ; SysTick Handler
46 DCD DMA0_IRQHandler ; DMA Channel 0 Transfer Complete
47 DCD DMA1_IRQHandler ; DMA Channel 1 Transfer Complete
48 DCD DMA2_IRQHandler ; DMA Channel 2 Transfer Complete
49 DCD DMA3_IRQHandler ; DMA Channel 3 Transfer Complete
50 DCD DMA4_IRQHandler ; DMA Channel 4 Transfer Complete
51 DCD DMA5_IRQHandler ; DMA Channel 5 Transfer Complete
52 DCD DMA6_IRQHandler ; DMA Channel 6 Transfer Complete
53 DCD DMA7_IRQHandler ; DMA Channel 7 Transfer Complete
54 DCD DMA8_IRQHandler ; DMA Channel 8 Transfer Complete
55 DCD DMA9_IRQHandler ; DMA Channel 9 Transfer Complete
56 DCD DMA10_IRQHandler ; DMA Channel 10 Transfer Complete
57 DCD DMA11_IRQHandler ; DMA Channel 11 Transfer Complete
58 DCD DMA12_IRQHandler ; DMA Channel 12 Transfer Complete
59 DCD DMA13_IRQHandler ; DMA Channel 13 Transfer Complete
60 DCD DMA14_IRQHandler ; DMA Channel 14 Transfer Complete
61 DCD DMA15_IRQHandler ; DMA Channel 15 Transfer Complete
62 DCD DMA_Error_IRQHandler ; DMA Error Interrupt
63 DCD MCM_IRQHandler ; Normal Interrupt
64 DCD FTFE_IRQHandler ; FTFE Command complete interrupt
65 DCD Read_Collision_IRQHandler ; Read Collision Interrupt
66 DCD LVD_LVW_IRQHandler ; Low Voltage Detect, Low Voltage Warning
67 DCD LLW_IRQHandler ; Low Leakage Wakeup
68 DCD Watchdog_IRQHandler ; WDOG Interrupt
69 DCD Reserved39_IRQHandler ; Reserved Interrupt 39
70 DCD I2C0_IRQHandler ; I2C0 interrupt
71 DCD I2C1_IRQHandler ; I2C1 interrupt
72 DCD SPI0_IRQHandler ; SPI0 Interrupt
73 DCD SPI1_IRQHandler ; SPI1 Interrupt
74 DCD I2S0_Tx_IRQHandler ; I2S0 transmit interrupt
75 DCD I2S0_Rx_IRQHandler ; I2S0 receive interrupt
76 DCD UART0_LON_IRQHandler ; UART0 LON interrupt
77 DCD UART0_RX_TX_IRQHandler ; UART0 Receive/Transmit interrupt
78 DCD UART0_ERR_IRQHandler ; UART0 Error interrupt
79 DCD UART1_RX_TX_IRQHandler ; UART1 Receive/Transmit interrupt
80 DCD UART1_ERR_IRQHandler ; UART1 Error interrupt
81 DCD UART2_RX_TX_IRQHandler ; UART2 Receive/Transmit interrupt
82 DCD UART2_ERR_IRQHandler ; UART2 Error interrupt
83 DCD UART3_RX_TX_IRQHandler ; UART3 Receive/Transmit interrupt
84 DCD UART3_ERR_IRQHandler ; UART3 Error interrupt
85 DCD ADC0_IRQHandler ; ADC0 interrupt
86 DCD CMP0_IRQHandler ; CMP0 interrupt
87 DCD CMP1_IRQHandler ; CMP1 interrupt
88 DCD FTM0_IRQHandler ; FTM0 fault, overflow and channels interrupt
89 DCD FTM1_IRQHandler ; FTM1 fault, overflow and channels interrupt
90 DCD FTM2_IRQHandler ; FTM2 fault, overflow and channels interrupt
91 DCD CMT_IRQHandler ; CMT interrupt
92 DCD RTC_IRQHandler ; RTC interrupt
93 DCD RTC_Seconds_IRQHandler ; RTC seconds interrupt
94 DCD PIT0_IRQHandler ; PIT timer channel 0 interrupt
95 DCD PIT1_IRQHandler ; PIT timer channel 1 interrupt
96 DCD PIT2_IRQHandler ; PIT timer channel 2 interrupt
97 DCD PIT3_IRQHandler ; PIT timer channel 3 interrupt
98 DCD PDB0_IRQHandler ; PDB0 Interrupt
99 DCD USB0_IRQHandler ; USB0 interrupt
100 DCD USBDCD_IRQHandler ; USBDCD Interrupt
101 DCD Reserved71_IRQHandler ; Reserved interrupt 71
102 DCD DAC0_IRQHandler ; DAC0 interrupt
103 DCD MCG_IRQHandler ; MCG Interrupt
104 DCD LPTimer_IRQHandler ; LPTimer interrupt
105 DCD PORTA_IRQHandler ; Port A interrupt
106 DCD PORTB_IRQHandler ; Port B interrupt
107 DCD PORTC_IRQHandler ; Port C interrupt
108 DCD PORTD_IRQHandler ; Port D interrupt
109 DCD PORTE_IRQHandler ; Port E interrupt
110 DCD SWI_IRQHandler ; Software interrupt
111 DCD SPI2_IRQHandler ; SPI2 Interrupt
112 DCD UART4_RX_TX_IRQHandler ; UART4 Receive/Transmit interrupt
113 DCD UART4_ERR_IRQHandler ; UART4 Error interrupt
114 DCD UART5_RX_TX_IRQHandler ; UART5 Receive/Transmit interrupt
115 DCD UART5_ERR_IRQHandler ; UART5 Error interrupt
116 DCD CMP2_IRQHandler ; CMP2 interrupt
117 DCD FTM3_IRQHandler ; FTM3 fault, overflow and channels interrupt
118 DCD DAC1_IRQHandler ; DAC1 interrupt
119 DCD ADC1_IRQHandler ; ADC1 interrupt
120 DCD I2C2_IRQHandler ; I2C2 interrupt
121 DCD CAN0_ORed_Message_buffer_IRQHandler ; CAN0 OR'd message buffers interrupt
122 DCD CAN0_Bus_Off_IRQHandler ; CAN0 bus off interrupt
123 DCD CAN0_Error_IRQHandler ; CAN0 error interrupt
124 DCD CAN0_Tx_Warning_IRQHandler ; CAN0 Tx warning interrupt
125 DCD CAN0_Rx_Warning_IRQHandler ; CAN0 Rx warning interrupt
126 DCD CAN0_Wake_Up_IRQHandler ; CAN0 wake up interrupt
127 DCD SDHC_IRQHandler ; SDHC interrupt
288 __Vectors_Size EQU __Vectors_End - __Vectors
290 ; <h> Flash Configuration
291 ; <i> 16-byte flash configuration field that stores default protection settings (loaded on reset)
292 ; <i> and security information that allows the MCU to restrict acces to the FTFL module.
293 ; <h> Backdoor Comparison Key
294 ; <o0> Backdoor Key 0 <0x0-0xFF:2>
295 ; <o1> Backdoor Key 1 <0x0-0xFF:2>
296 ; <o2> Backdoor Key 2 <0x0-0xFF:2>
297 ; <o3> Backdoor Key 3 <0x0-0xFF:2>
298 ; <o4> Backdoor Key 4 <0x0-0xFF:2>
299 ; <o5> Backdoor Key 5 <0x0-0xFF:2>
300 ; <o6> Backdoor Key 6 <0x0-0xFF:2>
301 ; <o7> Backdoor Key 7 <0x0-0xFF:2>
311 ; <h> Program flash protection bytes (FPROT)
312 ; <i> Each program flash region can be protected from program and erase operation by setting the associated PROT bit.
313 ; <i> Each bit protects a 1/32 region of the program flash memory.
315 ; <i> Program flash protection bytes
316 ; <i> 1/32 - 8/32 region
326 FPROT0 EQU nFPROT0:EOR:0xFF
329 ; <i> Program Flash Region Protect Register 1
330 ; <i> 9/32 - 16/32 region
340 FPROT1 EQU nFPROT1:EOR:0xFF
343 ; <i> Program Flash Region Protect Register 2
344 ; <i> 17/32 - 24/32 region
354 FPROT2 EQU nFPROT2:EOR:0xFF
357 ; <i> Program Flash Region Protect Register 3
358 ; <i> 25/32 - 32/32 region
368 FPROT3 EQU nFPROT3:EOR:0xFF
371 ; <h> Data flash protection byte (FDPROT)
372 ; <i> Each bit protects a 1/8 region of the data flash memory.
373 ; <i> (Program flash only devices: Reserved)
383 FDPROT EQU nFDPROT:EOR:0xFF
385 ; <h> EEPROM protection byte (FEPROT)
386 ; <i> FlexNVM devices: Each bit protects a 1/8 region of the EEPROM.
387 ; <i> (Program flash only devices: Reserved)
397 FEPROT EQU nFEPROT:EOR:0xFF
399 ; <h> Flash nonvolatile option byte (FOPT)
400 ; <i> Allows the user to customize the operation of the MCU at boot time.
402 ; <0=> Low-power boot
405 ; <0=> EzPort operation is enabled
406 ; <1=> EzPort operation is disabled
409 ; <h> Flash security byte (FSEC)
410 ; <i> WARNING: If SEC field is configured as "MCU security status is secure" and MEEN field is configured as "Mass erase is disabled",
411 ; <i> MCU's security status cannot be set back to unsecure state since Mass erase via the debugger is blocked !!!
413 ; <2=> MCU security status is unsecure
414 ; <3=> MCU security status is secure
416 ; <i> This bits define the security state of the MCU.
418 ; <2=> Freescale factory access denied
419 ; <3=> Freescale factory access granted
420 ; <i> Freescale Failure Analysis Access Code
421 ; <i> This bits define the security state of the MCU.
423 ; <2=> Mass erase is disabled
424 ; <3=> Mass erase is enabled
425 ; <i> Mass Erase Enable Bits
426 ; <i> Enables and disables mass erase capability of the FTFL module
428 ; <2=> Backdoor key access enabled
429 ; <3=> Backdoor key access disabled
430 ; <i> Backdoor key Security Enable
431 ; <i> These bits enable and disable backdoor key access to the FTFL module.
435 IF :LNOT::DEF:RAM_TARGET
436 AREA |.ARM.__at_0x400|, CODE, READONLY
437 DCB BackDoorK0, BackDoorK1, BackDoorK2, BackDoorK3
438 DCB BackDoorK4, BackDoorK5, BackDoorK6, BackDoorK7
439 DCB FPROT0, FPROT1, FPROT2, FPROT3
440 DCB FSEC, FOPT, FEPROT, FDPROT
443 AREA |.text|, CODE, READONLY
449 EXPORT Reset_Handler [WEAK]
459 ; Dummy Exception Handlers (infinite loops which can be modified)
462 EXPORT NMI_Handler [WEAK]
467 EXPORT HardFault_Handler [WEAK]
472 EXPORT MemManage_Handler [WEAK]
477 EXPORT BusFault_Handler [WEAK]
482 EXPORT UsageFault_Handler [WEAK]
486 EXPORT SVC_Handler [WEAK]
491 EXPORT DebugMon_Handler [WEAK]
495 EXPORT PendSV_Handler [WEAK]
499 EXPORT SysTick_Handler [WEAK]
504 EXPORT DMA0_IRQHandler [WEAK]
505 EXPORT DMA1_IRQHandler [WEAK]
506 EXPORT DMA2_IRQHandler [WEAK]
507 EXPORT DMA3_IRQHandler [WEAK]
508 EXPORT DMA4_IRQHandler [WEAK]
509 EXPORT DMA5_IRQHandler [WEAK]
510 EXPORT DMA6_IRQHandler [WEAK]
511 EXPORT DMA7_IRQHandler [WEAK]
512 EXPORT DMA8_IRQHandler [WEAK]
513 EXPORT DMA9_IRQHandler [WEAK]
514 EXPORT DMA10_IRQHandler [WEAK]
515 EXPORT DMA11_IRQHandler [WEAK]
516 EXPORT DMA12_IRQHandler [WEAK]
517 EXPORT DMA13_IRQHandler [WEAK]
518 EXPORT DMA14_IRQHandler [WEAK]
519 EXPORT DMA15_IRQHandler [WEAK]
520 EXPORT DMA_Error_IRQHandler [WEAK]
521 EXPORT MCM_IRQHandler [WEAK]
522 EXPORT FTFE_IRQHandler [WEAK]
523 EXPORT Read_Collision_IRQHandler [WEAK]
524 EXPORT LVD_LVW_IRQHandler [WEAK]
525 EXPORT LLW_IRQHandler [WEAK]
526 EXPORT Watchdog_IRQHandler [WEAK]
527 EXPORT Reserved39_IRQHandler [WEAK]
528 EXPORT I2C0_IRQHandler [WEAK]
529 EXPORT I2C1_IRQHandler [WEAK]
530 EXPORT SPI0_IRQHandler [WEAK]
531 EXPORT SPI1_IRQHandler [WEAK]
532 EXPORT I2S0_Tx_IRQHandler [WEAK]
533 EXPORT I2S0_Rx_IRQHandler [WEAK]
534 EXPORT UART0_LON_IRQHandler [WEAK]
535 EXPORT UART0_RX_TX_IRQHandler [WEAK]
536 EXPORT UART0_ERR_IRQHandler [WEAK]
537 EXPORT UART1_RX_TX_IRQHandler [WEAK]
538 EXPORT UART1_ERR_IRQHandler [WEAK]
539 EXPORT UART2_RX_TX_IRQHandler [WEAK]
540 EXPORT UART2_ERR_IRQHandler [WEAK]
541 EXPORT UART3_RX_TX_IRQHandler [WEAK]
542 EXPORT UART3_ERR_IRQHandler [WEAK]
543 EXPORT ADC0_IRQHandler [WEAK]
544 EXPORT CMP0_IRQHandler [WEAK]
545 EXPORT CMP1_IRQHandler [WEAK]
546 EXPORT FTM0_IRQHandler [WEAK]
547 EXPORT FTM1_IRQHandler [WEAK]
548 EXPORT FTM2_IRQHandler [WEAK]
549 EXPORT CMT_IRQHandler [WEAK]
550 EXPORT RTC_IRQHandler [WEAK]
551 EXPORT RTC_Seconds_IRQHandler [WEAK]
552 EXPORT PIT0_IRQHandler [WEAK]
553 EXPORT PIT1_IRQHandler [WEAK]
554 EXPORT PIT2_IRQHandler [WEAK]
555 EXPORT PIT3_IRQHandler [WEAK]
556 EXPORT PDB0_IRQHandler [WEAK]
557 EXPORT USB0_IRQHandler [WEAK]
558 EXPORT USBDCD_IRQHandler [WEAK]
559 EXPORT Reserved71_IRQHandler [WEAK]
560 EXPORT DAC0_IRQHandler [WEAK]
561 EXPORT MCG_IRQHandler [WEAK]
562 EXPORT LPTimer_IRQHandler [WEAK]
563 EXPORT PORTA_IRQHandler [WEAK]
564 EXPORT PORTB_IRQHandler [WEAK]
565 EXPORT PORTC_IRQHandler [WEAK]
566 EXPORT PORTD_IRQHandler [WEAK]
567 EXPORT PORTE_IRQHandler [WEAK]
568 EXPORT SWI_IRQHandler [WEAK]
569 EXPORT SPI2_IRQHandler [WEAK]
570 EXPORT UART4_RX_TX_IRQHandler [WEAK]
571 EXPORT UART4_ERR_IRQHandler [WEAK]
572 EXPORT UART5_RX_TX_IRQHandler [WEAK]
573 EXPORT UART5_ERR_IRQHandler [WEAK]
574 EXPORT CMP2_IRQHandler [WEAK]
575 EXPORT FTM3_IRQHandler [WEAK]
576 EXPORT DAC1_IRQHandler [WEAK]
577 EXPORT ADC1_IRQHandler [WEAK]
578 EXPORT I2C2_IRQHandler [WEAK]
579 EXPORT CAN0_ORed_Message_buffer_IRQHandler [WEAK]
580 EXPORT CAN0_Bus_Off_IRQHandler [WEAK]
581 EXPORT CAN0_Error_IRQHandler [WEAK]
582 EXPORT CAN0_Tx_Warning_IRQHandler [WEAK]
583 EXPORT CAN0_Rx_Warning_IRQHandler [WEAK]
584 EXPORT CAN0_Wake_Up_IRQHandler [WEAK]
585 EXPORT SDHC_IRQHandler [WEAK]
586 EXPORT DefaultISR [WEAK]
607 Read_Collision_IRQHandler
611 Reserved39_IRQHandler
619 UART0_RX_TX_IRQHandler
621 UART1_RX_TX_IRQHandler
623 UART2_RX_TX_IRQHandler
625 UART3_RX_TX_IRQHandler
635 RTC_Seconds_IRQHandler
643 Reserved71_IRQHandler
654 UART4_RX_TX_IRQHandler
656 UART5_RX_TX_IRQHandler
663 CAN0_ORed_Message_buffer_IRQHandler
664 CAN0_Bus_Off_IRQHandler
665 CAN0_Error_IRQHandler
666 CAN0_Tx_Warning_IRQHandler
667 CAN0_Rx_Warning_IRQHandler
668 CAN0_Wake_Up_IRQHandler