mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Wed Jul 01 09:45:11 2015 +0100
Revision:
579:53297373a894
Parent:
376:cb4d9db17537
Synchronized with git revision d5b4d2ab9c47edb4dc5776e7177b0c2263459081

Full URL: https://github.com/mbedmicro/mbed/commit/d5b4d2ab9c47edb4dc5776e7177b0c2263459081/

Initial version of drivers for SAMR21

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 223:fe6f83d1c519 1 /* K64F startup ARM GCC
mbed_official 223:fe6f83d1c519 2 * Purpose: startup file for Cortex-M4 devices. Should use with
mbed_official 223:fe6f83d1c519 3 * GCC for ARM Embedded Processors
mbed_official 223:fe6f83d1c519 4 * Version: V1.2
mbed_official 223:fe6f83d1c519 5 * Date: 15 Nov 2011
mbed_official 223:fe6f83d1c519 6 *
mbed_official 223:fe6f83d1c519 7 * Copyright (c) 2011, ARM Limited
mbed_official 223:fe6f83d1c519 8 * All rights reserved.
mbed_official 223:fe6f83d1c519 9 *
mbed_official 223:fe6f83d1c519 10 * Redistribution and use in source and binary forms, with or without
mbed_official 223:fe6f83d1c519 11 * modification, are permitted provided that the following conditions are met:
mbed_official 223:fe6f83d1c519 12 * Redistributions of source code must retain the above copyright
mbed_official 223:fe6f83d1c519 13 notice, this list of conditions and the following disclaimer.
mbed_official 223:fe6f83d1c519 14 * Redistributions in binary form must reproduce the above copyright
mbed_official 223:fe6f83d1c519 15 notice, this list of conditions and the following disclaimer in the
mbed_official 223:fe6f83d1c519 16 documentation and/or other materials provided with the distribution.
mbed_official 223:fe6f83d1c519 17 * Neither the name of the ARM Limited nor the
mbed_official 223:fe6f83d1c519 18 names of its contributors may be used to endorse or promote products
mbed_official 223:fe6f83d1c519 19 derived from this software without specific prior written permission.
mbed_official 223:fe6f83d1c519 20 *
mbed_official 223:fe6f83d1c519 21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
mbed_official 223:fe6f83d1c519 22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
mbed_official 223:fe6f83d1c519 23 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 223:fe6f83d1c519 24 * DISCLAIMED. IN NO EVENT SHALL ARM LIMITED BE LIABLE FOR ANY
mbed_official 223:fe6f83d1c519 25 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
mbed_official 223:fe6f83d1c519 26 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
mbed_official 223:fe6f83d1c519 27 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
mbed_official 223:fe6f83d1c519 28 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
mbed_official 223:fe6f83d1c519 29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
mbed_official 223:fe6f83d1c519 30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 223:fe6f83d1c519 31 */
mbed_official 223:fe6f83d1c519 32 .syntax unified
mbed_official 223:fe6f83d1c519 33 .arch armv7-m
mbed_official 223:fe6f83d1c519 34
mbed_official 223:fe6f83d1c519 35 /* Memory Model
mbed_official 223:fe6f83d1c519 36 The HEAP starts at the end of the DATA section and grows upward.
mbed_official 223:fe6f83d1c519 37
mbed_official 223:fe6f83d1c519 38 The STACK starts at the end of the RAM and grows downward.
mbed_official 223:fe6f83d1c519 39
mbed_official 223:fe6f83d1c519 40 The HEAP and stack STACK are only checked at compile time:
mbed_official 223:fe6f83d1c519 41 (DATA_SIZE + HEAP_SIZE + STACK_SIZE) < RAM_SIZE
mbed_official 223:fe6f83d1c519 42
mbed_official 223:fe6f83d1c519 43 This is just a check for the bare minimum for the Heap+Stack area before
mbed_official 223:fe6f83d1c519 44 aborting compilation, it is not the run time limit:
mbed_official 223:fe6f83d1c519 45 Heap_Size + Stack_Size = 0x80 + 0x80 = 0x100
mbed_official 223:fe6f83d1c519 46 */
mbed_official 223:fe6f83d1c519 47 .section .stack
mbed_official 223:fe6f83d1c519 48 .align 3
mbed_official 223:fe6f83d1c519 49 #ifdef __STACK_SIZE
mbed_official 223:fe6f83d1c519 50 .equ Stack_Size, __STACK_SIZE
mbed_official 223:fe6f83d1c519 51 #else
mbed_official 225:2af4c5d0160c 52 .equ Stack_Size, 0xC00
mbed_official 223:fe6f83d1c519 53 #endif
mbed_official 223:fe6f83d1c519 54 .globl __StackTop
mbed_official 223:fe6f83d1c519 55 .globl __StackLimit
mbed_official 223:fe6f83d1c519 56 __StackLimit:
mbed_official 223:fe6f83d1c519 57 .space Stack_Size
mbed_official 223:fe6f83d1c519 58 .size __StackLimit, . - __StackLimit
mbed_official 223:fe6f83d1c519 59 __StackTop:
mbed_official 223:fe6f83d1c519 60 .size __StackTop, . - __StackTop
mbed_official 223:fe6f83d1c519 61
mbed_official 223:fe6f83d1c519 62 .section .heap
mbed_official 223:fe6f83d1c519 63 .align 3
mbed_official 223:fe6f83d1c519 64 #ifdef __HEAP_SIZE
mbed_official 223:fe6f83d1c519 65 .equ Heap_Size, __HEAP_SIZE
mbed_official 223:fe6f83d1c519 66 #else
mbed_official 225:2af4c5d0160c 67 .equ Heap_Size, 0x400
mbed_official 223:fe6f83d1c519 68 #endif
mbed_official 223:fe6f83d1c519 69 .globl __HeapBase
mbed_official 223:fe6f83d1c519 70 .globl __HeapLimit
mbed_official 223:fe6f83d1c519 71 __HeapBase:
mbed_official 223:fe6f83d1c519 72 .space Heap_Size
mbed_official 223:fe6f83d1c519 73 .size __HeapBase, . - __HeapBase
mbed_official 223:fe6f83d1c519 74 __HeapLimit:
mbed_official 223:fe6f83d1c519 75 .size __HeapLimit, . - __HeapLimit
mbed_official 223:fe6f83d1c519 76
mbed_official 223:fe6f83d1c519 77 .section .vector_table,"a",%progbits
mbed_official 223:fe6f83d1c519 78 .align 2
mbed_official 223:fe6f83d1c519 79 .globl __isr_vector
mbed_official 223:fe6f83d1c519 80 __isr_vector:
mbed_official 223:fe6f83d1c519 81 .long __StackTop /* Top of Stack */
mbed_official 223:fe6f83d1c519 82 .long Reset_Handler /* Reset Handler */
mbed_official 223:fe6f83d1c519 83 .long NMI_Handler /* NMI Handler */
mbed_official 223:fe6f83d1c519 84 .long HardFault_Handler /* Hard Fault Handler */
mbed_official 223:fe6f83d1c519 85 .long MemManage_Handler /* MPU Fault Handler */
mbed_official 223:fe6f83d1c519 86 .long BusFault_Handler /* Bus Fault Handler */
mbed_official 223:fe6f83d1c519 87 .long UsageFault_Handler /* Usage Fault Handler */
mbed_official 223:fe6f83d1c519 88 .long 0 /* Reserved */
mbed_official 223:fe6f83d1c519 89 .long 0 /* Reserved */
mbed_official 223:fe6f83d1c519 90 .long 0 /* Reserved */
mbed_official 223:fe6f83d1c519 91 .long 0 /* Reserved */
mbed_official 223:fe6f83d1c519 92 .long SVC_Handler /* SVCall Handler */
mbed_official 223:fe6f83d1c519 93 .long DebugMon_Handler /* Debug Monitor Handler */
mbed_official 223:fe6f83d1c519 94 .long 0 /* Reserved */
mbed_official 223:fe6f83d1c519 95 .long PendSV_Handler /* PendSV Handler */
mbed_official 223:fe6f83d1c519 96 .long SysTick_Handler /* SysTick Handler */
mbed_official 223:fe6f83d1c519 97
mbed_official 223:fe6f83d1c519 98 /* External Interrupts */
mbed_official 223:fe6f83d1c519 99 .long DMA0_IRQHandler /* DMA Channel 0 Transfer Complete */
mbed_official 223:fe6f83d1c519 100 .long DMA1_IRQHandler /* DMA Channel 1 Transfer Complete */
mbed_official 223:fe6f83d1c519 101 .long DMA2_IRQHandler /* DMA Channel 2 Transfer Complete */
mbed_official 223:fe6f83d1c519 102 .long DMA3_IRQHandler /* DMA Channel 3 Transfer Complete */
mbed_official 223:fe6f83d1c519 103 .long DMA4_IRQHandler /* DMA Channel 4 Transfer Complete */
mbed_official 223:fe6f83d1c519 104 .long DMA5_IRQHandler /* DMA Channel 5 Transfer Complete */
mbed_official 223:fe6f83d1c519 105 .long DMA6_IRQHandler /* DMA Channel 6 Transfer Complete */
mbed_official 223:fe6f83d1c519 106 .long DMA7_IRQHandler /* DMA Channel 7 Transfer Complete */
mbed_official 223:fe6f83d1c519 107 .long DMA8_IRQHandler /* DMA Channel 8 Transfer Complete */
mbed_official 223:fe6f83d1c519 108 .long DMA9_IRQHandler /* DMA Channel 9 Transfer Complete */
mbed_official 223:fe6f83d1c519 109 .long DMA10_IRQHandler /* DMA Channel 10 Transfer Complete */
mbed_official 223:fe6f83d1c519 110 .long DMA11_IRQHandler /* DMA Channel 11 Transfer Complete */
mbed_official 223:fe6f83d1c519 111 .long DMA12_IRQHandler /* DMA Channel 12 Transfer Complete */
mbed_official 223:fe6f83d1c519 112 .long DMA13_IRQHandler /* DMA Channel 13 Transfer Complete */
mbed_official 223:fe6f83d1c519 113 .long DMA14_IRQHandler /* DMA Channel 14 Transfer Complete */
mbed_official 223:fe6f83d1c519 114 .long DMA15_IRQHandler /* DMA Channel 15 Transfer Complete */
mbed_official 223:fe6f83d1c519 115 .long DMA_Error_IRQHandler /* DMA Error Interrupt */
mbed_official 223:fe6f83d1c519 116 .long MCM_IRQHandler /* Normal Interrupt */
mbed_official 223:fe6f83d1c519 117 .long FTFE_IRQHandler /* FTFE Command complete interrupt */
mbed_official 223:fe6f83d1c519 118 .long Read_Collision_IRQHandler /* Read Collision Interrupt */
mbed_official 223:fe6f83d1c519 119 .long LVD_LVW_IRQHandler /* Low Voltage Detect, Low Voltage Warning */
mbed_official 223:fe6f83d1c519 120 .long LLW_IRQHandler /* Low Leakage Wakeup */
mbed_official 223:fe6f83d1c519 121 .long Watchdog_IRQHandler /* WDOG Interrupt */
mbed_official 223:fe6f83d1c519 122 .long RNG_IRQHandler /* RNG Interrupt */
mbed_official 223:fe6f83d1c519 123 .long I2C0_IRQHandler /* I2C0 interrupt */
mbed_official 223:fe6f83d1c519 124 .long I2C1_IRQHandler /* I2C1 interrupt */
mbed_official 223:fe6f83d1c519 125 .long SPI0_IRQHandler /* SPI0 Interrupt */
mbed_official 223:fe6f83d1c519 126 .long SPI1_IRQHandler /* SPI1 Interrupt */
mbed_official 223:fe6f83d1c519 127 .long I2S0_Tx_IRQHandler /* I2S0 transmit interrupt */
mbed_official 223:fe6f83d1c519 128 .long I2S0_Rx_IRQHandler /* I2S0 receive interrupt */
mbed_official 223:fe6f83d1c519 129 .long UART0_LON_IRQHandler /* UART0 LON interrupt */
mbed_official 223:fe6f83d1c519 130 .long UART0_RX_TX_IRQHandler /* UART0 Receive/Transmit interrupt */
mbed_official 223:fe6f83d1c519 131 .long UART0_ERR_IRQHandler /* UART0 Error interrupt */
mbed_official 223:fe6f83d1c519 132 .long UART1_RX_TX_IRQHandler /* UART1 Receive/Transmit interrupt */
mbed_official 223:fe6f83d1c519 133 .long UART1_ERR_IRQHandler /* UART1 Error interrupt */
mbed_official 223:fe6f83d1c519 134 .long UART2_RX_TX_IRQHandler /* UART2 Receive/Transmit interrupt */
mbed_official 223:fe6f83d1c519 135 .long UART2_ERR_IRQHandler /* UART2 Error interrupt */
mbed_official 223:fe6f83d1c519 136 .long UART3_RX_TX_IRQHandler /* UART3 Receive/Transmit interrupt */
mbed_official 223:fe6f83d1c519 137 .long UART3_ERR_IRQHandler /* UART3 Error interrupt */
mbed_official 223:fe6f83d1c519 138 .long ADC0_IRQHandler /* ADC0 interrupt */
mbed_official 223:fe6f83d1c519 139 .long CMP0_IRQHandler /* CMP0 interrupt */
mbed_official 223:fe6f83d1c519 140 .long CMP1_IRQHandler /* CMP1 interrupt */
mbed_official 223:fe6f83d1c519 141 .long FTM0_IRQHandler /* FTM0 fault, overflow and channels interrupt */
mbed_official 223:fe6f83d1c519 142 .long FTM1_IRQHandler /* FTM1 fault, overflow and channels interrupt */
mbed_official 223:fe6f83d1c519 143 .long FTM2_IRQHandler /* FTM2 fault, overflow and channels interrupt */
mbed_official 223:fe6f83d1c519 144 .long CMT_IRQHandler /* CMT interrupt */
mbed_official 223:fe6f83d1c519 145 .long RTC_IRQHandler /* RTC interrupt */
mbed_official 223:fe6f83d1c519 146 .long RTC_Seconds_IRQHandler /* RTC seconds interrupt */
mbed_official 223:fe6f83d1c519 147 .long PIT0_IRQHandler /* PIT timer channel 0 interrupt */
mbed_official 223:fe6f83d1c519 148 .long PIT1_IRQHandler /* PIT timer channel 1 interrupt */
mbed_official 223:fe6f83d1c519 149 .long PIT2_IRQHandler /* PIT timer channel 2 interrupt */
mbed_official 223:fe6f83d1c519 150 .long PIT3_IRQHandler /* PIT timer channel 3 interrupt */
mbed_official 223:fe6f83d1c519 151 .long PDB0_IRQHandler /* PDB0 Interrupt */
mbed_official 223:fe6f83d1c519 152 .long USB0_IRQHandler /* USB0 interrupt */
mbed_official 223:fe6f83d1c519 153 .long USBDCD_IRQHandler /* USBDCD Interrupt */
mbed_official 223:fe6f83d1c519 154 .long Reserved71_IRQHandler /* Reserved interrupt 71 */
mbed_official 223:fe6f83d1c519 155 .long DAC0_IRQHandler /* DAC0 interrupt */
mbed_official 223:fe6f83d1c519 156 .long MCG_IRQHandler /* MCG Interrupt */
mbed_official 223:fe6f83d1c519 157 .long LPTimer_IRQHandler /* LPTimer interrupt */
mbed_official 223:fe6f83d1c519 158 .long PORTA_IRQHandler /* Port A interrupt */
mbed_official 223:fe6f83d1c519 159 .long PORTB_IRQHandler /* Port B interrupt */
mbed_official 223:fe6f83d1c519 160 .long PORTC_IRQHandler /* Port C interrupt */
mbed_official 223:fe6f83d1c519 161 .long PORTD_IRQHandler /* Port D interrupt */
mbed_official 223:fe6f83d1c519 162 .long PORTE_IRQHandler /* Port E interrupt */
mbed_official 223:fe6f83d1c519 163 .long SWI_IRQHandler /* Software interrupt */
mbed_official 223:fe6f83d1c519 164 .long SPI2_IRQHandler /* SPI2 Interrupt */
mbed_official 223:fe6f83d1c519 165 .long UART4_RX_TX_IRQHandler /* UART4 Receive/Transmit interrupt */
mbed_official 223:fe6f83d1c519 166 .long UART4_ERR_IRQHandler /* UART4 Error interrupt */
mbed_official 223:fe6f83d1c519 167 .long UART5_RX_TX_IRQHandler /* UART5 Receive/Transmit interrupt */
mbed_official 223:fe6f83d1c519 168 .long UART5_ERR_IRQHandler /* UART5 Error interrupt */
mbed_official 223:fe6f83d1c519 169 .long CMP2_IRQHandler /* CMP2 interrupt */
mbed_official 223:fe6f83d1c519 170 .long FTM3_IRQHandler /* FTM3 fault, overflow and channels interrupt */
mbed_official 223:fe6f83d1c519 171 .long DAC1_IRQHandler /* DAC1 interrupt */
mbed_official 223:fe6f83d1c519 172 .long ADC1_IRQHandler /* ADC1 interrupt */
mbed_official 223:fe6f83d1c519 173 .long I2C2_IRQHandler /* I2C2 interrupt */
mbed_official 223:fe6f83d1c519 174 .long CAN0_ORed_Message_buffer_IRQHandler /* CAN0 OR'd message buffers interrupt */
mbed_official 223:fe6f83d1c519 175 .long CAN0_Bus_Off_IRQHandler /* CAN0 bus off interrupt */
mbed_official 223:fe6f83d1c519 176 .long CAN0_Error_IRQHandler /* CAN0 error interrupt */
mbed_official 223:fe6f83d1c519 177 .long CAN0_Tx_Warning_IRQHandler /* CAN0 Tx warning interrupt */
mbed_official 223:fe6f83d1c519 178 .long CAN0_Rx_Warning_IRQHandler /* CAN0 Rx warning interrupt */
mbed_official 223:fe6f83d1c519 179 .long CAN0_Wake_Up_IRQHandler /* CAN0 wake up interrupt */
mbed_official 223:fe6f83d1c519 180 .long SDHC_IRQHandler /* SDHC interrupt */
mbed_official 223:fe6f83d1c519 181 .long ENET_1588_Timer_IRQHandler /* Ethernet MAC IEEE 1588 Timer Interrupt */
mbed_official 223:fe6f83d1c519 182 .long ENET_Transmit_IRQHandler /* Ethernet MAC Transmit Interrupt */
mbed_official 223:fe6f83d1c519 183 .long ENET_Receive_IRQHandler /* Ethernet MAC Receive Interrupt */
mbed_official 223:fe6f83d1c519 184 .long ENET_Error_IRQHandler /* Ethernet MAC Error and miscelaneous Interrupt */
mbed_official 223:fe6f83d1c519 185
mbed_official 223:fe6f83d1c519 186 .size __isr_vector, . - __isr_vector
mbed_official 223:fe6f83d1c519 187
mbed_official 223:fe6f83d1c519 188 .section .text.Reset_Handler
mbed_official 223:fe6f83d1c519 189 .thumb
mbed_official 223:fe6f83d1c519 190 .thumb_func
mbed_official 223:fe6f83d1c519 191 .align 2
mbed_official 223:fe6f83d1c519 192 .globl Reset_Handler
mbed_official 223:fe6f83d1c519 193 .type Reset_Handler, %function
mbed_official 223:fe6f83d1c519 194 Reset_Handler:
mbed_official 223:fe6f83d1c519 195 /* Loop to copy data from read only memory to RAM. The ranges
mbed_official 223:fe6f83d1c519 196 * of copy from/to are specified by following symbols evaluated in
mbed_official 223:fe6f83d1c519 197 * linker script.
mbed_official 223:fe6f83d1c519 198 * __etext: End of code section, i.e., begin of data sections to copy from.
mbed_official 223:fe6f83d1c519 199 * __data_start__/__data_end__: RAM address range that data should be
mbed_official 223:fe6f83d1c519 200 * copied to. Both must be aligned to 4 bytes boundary. */
mbed_official 223:fe6f83d1c519 201
mbed_official 225:2af4c5d0160c 202 disable_watchdog:
mbed_official 225:2af4c5d0160c 203 /* unlock */
mbed_official 225:2af4c5d0160c 204 ldr r1, =0x4005200e
mbed_official 225:2af4c5d0160c 205 ldr r0, =0xc520
mbed_official 225:2af4c5d0160c 206 strh r0, [r1]
mbed_official 225:2af4c5d0160c 207 ldr r0, =0xd928
mbed_official 225:2af4c5d0160c 208 strh r0, [r1]
mbed_official 225:2af4c5d0160c 209 /* disable */
mbed_official 225:2af4c5d0160c 210 ldr r1, =0x40052000
mbed_official 225:2af4c5d0160c 211 ldr r0, =0x01d2
mbed_official 225:2af4c5d0160c 212 strh r0, [r1]
mbed_official 225:2af4c5d0160c 213
mbed_official 223:fe6f83d1c519 214 ldr r1, =__etext
mbed_official 223:fe6f83d1c519 215 ldr r2, =__data_start__
mbed_official 223:fe6f83d1c519 216 ldr r3, =__data_end__
mbed_official 223:fe6f83d1c519 217
mbed_official 223:fe6f83d1c519 218 subs r3, r2
mbed_official 223:fe6f83d1c519 219 ble .Lflash_to_ram_loop_end
mbed_official 223:fe6f83d1c519 220
mbed_official 223:fe6f83d1c519 221 movs r4, 0
mbed_official 223:fe6f83d1c519 222 .Lflash_to_ram_loop:
mbed_official 223:fe6f83d1c519 223 ldr r0, [r1,r4]
mbed_official 223:fe6f83d1c519 224 str r0, [r2,r4]
mbed_official 223:fe6f83d1c519 225 adds r4, 4
mbed_official 223:fe6f83d1c519 226 cmp r4, r3
mbed_official 223:fe6f83d1c519 227 blt .Lflash_to_ram_loop
mbed_official 223:fe6f83d1c519 228 .Lflash_to_ram_loop_end:
mbed_official 223:fe6f83d1c519 229
mbed_official 223:fe6f83d1c519 230 ldr r0, =SystemInit
mbed_official 223:fe6f83d1c519 231 blx r0
mbed_official 223:fe6f83d1c519 232 ldr r0, =_start
mbed_official 223:fe6f83d1c519 233 bx r0
mbed_official 223:fe6f83d1c519 234 .pool
mbed_official 223:fe6f83d1c519 235 .size Reset_Handler, . - Reset_Handler
mbed_official 223:fe6f83d1c519 236
mbed_official 223:fe6f83d1c519 237 .text
mbed_official 223:fe6f83d1c519 238 /* Macro to define default handlers. Default handler
mbed_official 223:fe6f83d1c519 239 * will be weak symbol and just dead loops. They can be
mbed_official 223:fe6f83d1c519 240 * overwritten by other handlers */
mbed_official 223:fe6f83d1c519 241 .macro def_default_handler handler_name
mbed_official 223:fe6f83d1c519 242 .align 1
mbed_official 223:fe6f83d1c519 243 .thumb_func
mbed_official 223:fe6f83d1c519 244 .weak \handler_name
mbed_official 223:fe6f83d1c519 245 .type \handler_name, %function
mbed_official 223:fe6f83d1c519 246 \handler_name :
mbed_official 223:fe6f83d1c519 247 b .
mbed_official 223:fe6f83d1c519 248 .size \handler_name, . - \handler_name
mbed_official 223:fe6f83d1c519 249 .endm
mbed_official 223:fe6f83d1c519 250
mbed_official 223:fe6f83d1c519 251 /* Exception Handlers */
mbed_official 223:fe6f83d1c519 252
mbed_official 223:fe6f83d1c519 253 def_default_handler NMI_Handler
mbed_official 223:fe6f83d1c519 254 def_default_handler HardFault_Handler
mbed_official 223:fe6f83d1c519 255 def_default_handler MemManage_Handler
mbed_official 223:fe6f83d1c519 256 def_default_handler BusFault_Handler
mbed_official 223:fe6f83d1c519 257 def_default_handler UsageFault_Handler
mbed_official 223:fe6f83d1c519 258 def_default_handler SVC_Handler
mbed_official 223:fe6f83d1c519 259 def_default_handler DebugMon_Handler
mbed_official 223:fe6f83d1c519 260 def_default_handler PendSV_Handler
mbed_official 223:fe6f83d1c519 261 def_default_handler SysTick_Handler
mbed_official 223:fe6f83d1c519 262 def_default_handler Default_Handler
mbed_official 223:fe6f83d1c519 263
mbed_official 223:fe6f83d1c519 264 .macro def_irq_default_handler handler_name
mbed_official 223:fe6f83d1c519 265 .weak \handler_name
mbed_official 223:fe6f83d1c519 266 .set \handler_name, Default_Handler
mbed_official 223:fe6f83d1c519 267 .endm
mbed_official 223:fe6f83d1c519 268
mbed_official 223:fe6f83d1c519 269 /* IRQ Handlers */
mbed_official 223:fe6f83d1c519 270 def_irq_default_handler DMA0_IRQHandler
mbed_official 223:fe6f83d1c519 271 def_irq_default_handler DMA1_IRQHandler
mbed_official 223:fe6f83d1c519 272 def_irq_default_handler DMA2_IRQHandler
mbed_official 223:fe6f83d1c519 273 def_irq_default_handler DMA3_IRQHandler
mbed_official 223:fe6f83d1c519 274 def_irq_default_handler DMA4_IRQHandler
mbed_official 223:fe6f83d1c519 275 def_irq_default_handler DMA5_IRQHandler
mbed_official 223:fe6f83d1c519 276 def_irq_default_handler DMA6_IRQHandler
mbed_official 223:fe6f83d1c519 277 def_irq_default_handler DMA7_IRQHandler
mbed_official 223:fe6f83d1c519 278 def_irq_default_handler DMA8_IRQHandler
mbed_official 223:fe6f83d1c519 279 def_irq_default_handler DMA9_IRQHandler
mbed_official 223:fe6f83d1c519 280 def_irq_default_handler DMA10_IRQHandler
mbed_official 223:fe6f83d1c519 281 def_irq_default_handler DMA11_IRQHandler
mbed_official 223:fe6f83d1c519 282 def_irq_default_handler DMA12_IRQHandler
mbed_official 223:fe6f83d1c519 283 def_irq_default_handler DMA13_IRQHandler
mbed_official 223:fe6f83d1c519 284 def_irq_default_handler DMA14_IRQHandler
mbed_official 223:fe6f83d1c519 285 def_irq_default_handler DMA15_IRQHandler
mbed_official 223:fe6f83d1c519 286 def_irq_default_handler DMA_Error_IRQHandler
mbed_official 223:fe6f83d1c519 287 def_irq_default_handler MCM_IRQHandler
mbed_official 223:fe6f83d1c519 288 def_irq_default_handler FTFE_IRQHandler
mbed_official 223:fe6f83d1c519 289 def_irq_default_handler Read_Collision_IRQHandler
mbed_official 223:fe6f83d1c519 290 def_irq_default_handler LVD_LVW_IRQHandler
mbed_official 223:fe6f83d1c519 291 def_irq_default_handler LLW_IRQHandler
mbed_official 223:fe6f83d1c519 292 def_irq_default_handler Watchdog_IRQHandler
mbed_official 223:fe6f83d1c519 293 def_irq_default_handler RNG_IRQHandler
mbed_official 223:fe6f83d1c519 294 def_irq_default_handler I2C0_IRQHandler
mbed_official 223:fe6f83d1c519 295 def_irq_default_handler I2C1_IRQHandler
mbed_official 223:fe6f83d1c519 296 def_irq_default_handler SPI0_IRQHandler
mbed_official 223:fe6f83d1c519 297 def_irq_default_handler SPI1_IRQHandler
mbed_official 223:fe6f83d1c519 298 def_irq_default_handler I2S0_Tx_IRQHandler
mbed_official 223:fe6f83d1c519 299 def_irq_default_handler I2S0_Rx_IRQHandler
mbed_official 223:fe6f83d1c519 300 def_irq_default_handler UART0_LON_IRQHandler
mbed_official 223:fe6f83d1c519 301 def_irq_default_handler UART0_RX_TX_IRQHandler
mbed_official 223:fe6f83d1c519 302 def_irq_default_handler UART0_ERR_IRQHandler
mbed_official 223:fe6f83d1c519 303 def_irq_default_handler UART1_RX_TX_IRQHandler
mbed_official 223:fe6f83d1c519 304 def_irq_default_handler UART1_ERR_IRQHandler
mbed_official 223:fe6f83d1c519 305 def_irq_default_handler UART2_RX_TX_IRQHandler
mbed_official 223:fe6f83d1c519 306 def_irq_default_handler UART2_ERR_IRQHandler
mbed_official 223:fe6f83d1c519 307 def_irq_default_handler UART3_RX_TX_IRQHandler
mbed_official 223:fe6f83d1c519 308 def_irq_default_handler UART3_ERR_IRQHandler
mbed_official 223:fe6f83d1c519 309 def_irq_default_handler ADC0_IRQHandler
mbed_official 223:fe6f83d1c519 310 def_irq_default_handler CMP0_IRQHandler
mbed_official 223:fe6f83d1c519 311 def_irq_default_handler CMP1_IRQHandler
mbed_official 223:fe6f83d1c519 312 def_irq_default_handler FTM0_IRQHandler
mbed_official 223:fe6f83d1c519 313 def_irq_default_handler FTM1_IRQHandler
mbed_official 223:fe6f83d1c519 314 def_irq_default_handler FTM2_IRQHandler
mbed_official 223:fe6f83d1c519 315 def_irq_default_handler CMT_IRQHandler
mbed_official 223:fe6f83d1c519 316 def_irq_default_handler RTC_IRQHandler
mbed_official 223:fe6f83d1c519 317 def_irq_default_handler RTC_Seconds_IRQHandler
mbed_official 223:fe6f83d1c519 318 def_irq_default_handler PIT0_IRQHandler
mbed_official 223:fe6f83d1c519 319 def_irq_default_handler PIT1_IRQHandler
mbed_official 223:fe6f83d1c519 320 def_irq_default_handler PIT2_IRQHandler
mbed_official 223:fe6f83d1c519 321 def_irq_default_handler PIT3_IRQHandler
mbed_official 223:fe6f83d1c519 322 def_irq_default_handler PDB0_IRQHandler
mbed_official 223:fe6f83d1c519 323 def_irq_default_handler USB0_IRQHandler
mbed_official 223:fe6f83d1c519 324 def_irq_default_handler USBDCD_IRQHandler
mbed_official 223:fe6f83d1c519 325 def_irq_default_handler Reserved71_IRQHandler
mbed_official 223:fe6f83d1c519 326 def_irq_default_handler DAC0_IRQHandler
mbed_official 223:fe6f83d1c519 327 def_irq_default_handler MCG_IRQHandler
mbed_official 223:fe6f83d1c519 328 def_irq_default_handler LPTimer_IRQHandler
mbed_official 223:fe6f83d1c519 329 def_irq_default_handler PORTA_IRQHandler
mbed_official 223:fe6f83d1c519 330 def_irq_default_handler PORTB_IRQHandler
mbed_official 223:fe6f83d1c519 331 def_irq_default_handler PORTC_IRQHandler
mbed_official 223:fe6f83d1c519 332 def_irq_default_handler PORTD_IRQHandler
mbed_official 223:fe6f83d1c519 333 def_irq_default_handler PORTE_IRQHandler
mbed_official 223:fe6f83d1c519 334 def_irq_default_handler SWI_IRQHandler
mbed_official 223:fe6f83d1c519 335 def_irq_default_handler SPI2_IRQHandler
mbed_official 223:fe6f83d1c519 336 def_irq_default_handler UART4_RX_TX_IRQHandler
mbed_official 223:fe6f83d1c519 337 def_irq_default_handler UART4_ERR_IRQHandler
mbed_official 223:fe6f83d1c519 338 def_irq_default_handler UART5_RX_TX_IRQHandler
mbed_official 223:fe6f83d1c519 339 def_irq_default_handler UART5_ERR_IRQHandler
mbed_official 223:fe6f83d1c519 340 def_irq_default_handler CMP2_IRQHandler
mbed_official 223:fe6f83d1c519 341 def_irq_default_handler FTM3_IRQHandler
mbed_official 223:fe6f83d1c519 342 def_irq_default_handler DAC1_IRQHandler
mbed_official 223:fe6f83d1c519 343 def_irq_default_handler ADC1_IRQHandler
mbed_official 223:fe6f83d1c519 344 def_irq_default_handler I2C2_IRQHandler
mbed_official 223:fe6f83d1c519 345 def_irq_default_handler CAN0_ORed_Message_buffer_IRQHandler
mbed_official 223:fe6f83d1c519 346 def_irq_default_handler CAN0_Bus_Off_IRQHandler
mbed_official 223:fe6f83d1c519 347 def_irq_default_handler CAN0_Error_IRQHandler
mbed_official 223:fe6f83d1c519 348 def_irq_default_handler CAN0_Tx_Warning_IRQHandler
mbed_official 223:fe6f83d1c519 349 def_irq_default_handler CAN0_Rx_Warning_IRQHandler
mbed_official 223:fe6f83d1c519 350 def_irq_default_handler CAN0_Wake_Up_IRQHandler
mbed_official 223:fe6f83d1c519 351 def_irq_default_handler SDHC_IRQHandler
mbed_official 223:fe6f83d1c519 352 def_irq_default_handler ENET_1588_Timer_IRQHandler
mbed_official 223:fe6f83d1c519 353 def_irq_default_handler ENET_Transmit_IRQHandler
mbed_official 223:fe6f83d1c519 354 def_irq_default_handler ENET_Receive_IRQHandler
mbed_official 223:fe6f83d1c519 355 def_irq_default_handler ENET_Error_IRQHandler
mbed_official 223:fe6f83d1c519 356 def_irq_default_handler DefaultISR
mbed_official 223:fe6f83d1c519 357
mbed_official 223:fe6f83d1c519 358 /* Flash protection region, placed at 0x400 */
mbed_official 223:fe6f83d1c519 359 .text
mbed_official 223:fe6f83d1c519 360 .thumb
mbed_official 223:fe6f83d1c519 361 .align 2
mbed_official 223:fe6f83d1c519 362 .section .kinetis_flash_config_field,"a",%progbits
mbed_official 223:fe6f83d1c519 363 kinetis_flash_config:
mbed_official 223:fe6f83d1c519 364 .long 0xffffffff
mbed_official 223:fe6f83d1c519 365 .long 0xffffffff
mbed_official 223:fe6f83d1c519 366 .long 0xffffffff
mbed_official 376:cb4d9db17537 367 .long 0xfffffdfe
mbed_official 223:fe6f83d1c519 368
mbed_official 223:fe6f83d1c519 369 .end