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:
emilmont
Date:
Fri Jun 14 17:49:17 2013 +0100
Revision:
10:3bc89ef62ce7
Unify mbed library sources

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emilmont 10:3bc89ef62ce7 1 ;/*****************************************************************************
emilmont 10:3bc89ef62ce7 2 ; * @file: startup_LPC407x_8x.s
emilmont 10:3bc89ef62ce7 3 ; * @purpose: CMSIS Cortex-M4 Core Device Startup File
emilmont 10:3bc89ef62ce7 4 ; * for the NXP LPC407x_8x Device Series
emilmont 10:3bc89ef62ce7 5 ; * @version: V1.20
emilmont 10:3bc89ef62ce7 6 ; * @date: 16. January 2012
emilmont 10:3bc89ef62ce7 7 ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
emilmont 10:3bc89ef62ce7 8 ; *
emilmont 10:3bc89ef62ce7 9 ; * Copyright (C) 2012 ARM Limited. All rights reserved.
emilmont 10:3bc89ef62ce7 10 ; * ARM Limited (ARM) is supplying this software for use with Cortex-M4
emilmont 10:3bc89ef62ce7 11 ; * processor based microcontrollers. This file can be freely distributed
emilmont 10:3bc89ef62ce7 12 ; * within development tools that are supporting such ARM based processors.
emilmont 10:3bc89ef62ce7 13 ; *
emilmont 10:3bc89ef62ce7 14 ; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
emilmont 10:3bc89ef62ce7 15 ; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
emilmont 10:3bc89ef62ce7 16 ; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
emilmont 10:3bc89ef62ce7 17 ; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
emilmont 10:3bc89ef62ce7 18 ; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
emilmont 10:3bc89ef62ce7 19 ; *
emilmont 10:3bc89ef62ce7 20 ; *****************************************************************************/
emilmont 10:3bc89ef62ce7 21
emilmont 10:3bc89ef62ce7 22
emilmont 10:3bc89ef62ce7 23
emilmont 10:3bc89ef62ce7 24 __initial_sp EQU 0x10010000 ; Top of RAM from LPC4088
emilmont 10:3bc89ef62ce7 25
emilmont 10:3bc89ef62ce7 26 PRESERVE8
emilmont 10:3bc89ef62ce7 27 THUMB
emilmont 10:3bc89ef62ce7 28
emilmont 10:3bc89ef62ce7 29 ; Vector Table Mapped to Address 0 at Reset
emilmont 10:3bc89ef62ce7 30
emilmont 10:3bc89ef62ce7 31 AREA RESET, DATA, READONLY
emilmont 10:3bc89ef62ce7 32 EXPORT __Vectors
emilmont 10:3bc89ef62ce7 33
emilmont 10:3bc89ef62ce7 34 __Vectors DCD __initial_sp ; Top of Stack
emilmont 10:3bc89ef62ce7 35 DCD Reset_Handler ; Reset Handler
emilmont 10:3bc89ef62ce7 36 DCD NMI_Handler ; NMI Handler
emilmont 10:3bc89ef62ce7 37 DCD HardFault_Handler ; Hard Fault Handler
emilmont 10:3bc89ef62ce7 38 DCD MemManage_Handler ; MPU Fault Handler
emilmont 10:3bc89ef62ce7 39 DCD BusFault_Handler ; Bus Fault Handler
emilmont 10:3bc89ef62ce7 40 DCD UsageFault_Handler ; Usage Fault Handler
emilmont 10:3bc89ef62ce7 41 ; DCD 0xEFFFF5D6 ; Reserved- vector sum
emilmont 10:3bc89ef62ce7 42 DCD 0xEFFFF39E ; Reserved- vector sum
emilmont 10:3bc89ef62ce7 43 DCD 0 ; Reserved
emilmont 10:3bc89ef62ce7 44 DCD 0 ; Reserved
emilmont 10:3bc89ef62ce7 45 DCD 0 ; Reserved
emilmont 10:3bc89ef62ce7 46 DCD SVC_Handler ; SVCall Handler
emilmont 10:3bc89ef62ce7 47 DCD DebugMon_Handler ; Debug Monitor Handler
emilmont 10:3bc89ef62ce7 48 DCD 0 ; Reserved
emilmont 10:3bc89ef62ce7 49 DCD PendSV_Handler ; PendSV Handler
emilmont 10:3bc89ef62ce7 50 DCD SysTick_Handler ; SysTick Handler
emilmont 10:3bc89ef62ce7 51
emilmont 10:3bc89ef62ce7 52 ; External Interrupts
emilmont 10:3bc89ef62ce7 53 DCD WDT_IRQHandler ; 16: Watchdog Timer
emilmont 10:3bc89ef62ce7 54 DCD TIMER0_IRQHandler ; 17: Timer0
emilmont 10:3bc89ef62ce7 55 DCD TIMER1_IRQHandler ; 18: Timer1
emilmont 10:3bc89ef62ce7 56 DCD TIMER2_IRQHandler ; 19: Timer2
emilmont 10:3bc89ef62ce7 57 DCD TIMER3_IRQHandler ; 20: Timer3
emilmont 10:3bc89ef62ce7 58 DCD UART0_IRQHandler ; 21: UART0
emilmont 10:3bc89ef62ce7 59 DCD UART1_IRQHandler ; 22: UART1
emilmont 10:3bc89ef62ce7 60 DCD UART2_IRQHandler ; 23: UART2
emilmont 10:3bc89ef62ce7 61 DCD UART3_IRQHandler ; 24: UART3
emilmont 10:3bc89ef62ce7 62 DCD PWM1_IRQHandler ; 25: PWM1
emilmont 10:3bc89ef62ce7 63 DCD I2C0_IRQHandler ; 26: I2C0
emilmont 10:3bc89ef62ce7 64 DCD I2C1_IRQHandler ; 27: I2C1
emilmont 10:3bc89ef62ce7 65 DCD I2C2_IRQHandler ; 28: I2C2
emilmont 10:3bc89ef62ce7 66 DCD 0 ; 29: reserved, not for SPIFI anymore
emilmont 10:3bc89ef62ce7 67 DCD SSP0_IRQHandler ; 30: SSP0
emilmont 10:3bc89ef62ce7 68 DCD SSP1_IRQHandler ; 31: SSP1
emilmont 10:3bc89ef62ce7 69 DCD PLL0_IRQHandler ; 32: PLL0 Lock (Main PLL)
emilmont 10:3bc89ef62ce7 70 DCD RTC_IRQHandler ; 33: Real Time Clock
emilmont 10:3bc89ef62ce7 71 DCD EINT0_IRQHandler ; 34: External Interrupt 0
emilmont 10:3bc89ef62ce7 72 DCD EINT1_IRQHandler ; 35: External Interrupt 1
emilmont 10:3bc89ef62ce7 73 DCD EINT2_IRQHandler ; 36: External Interrupt 2
emilmont 10:3bc89ef62ce7 74 DCD EINT3_IRQHandler ; 37: External Interrupt 3
emilmont 10:3bc89ef62ce7 75 DCD ADC_IRQHandler ; 38: A/D Converter
emilmont 10:3bc89ef62ce7 76 DCD BOD_IRQHandler ; 39: Brown-Out Detect
emilmont 10:3bc89ef62ce7 77 DCD USB_IRQHandler ; 40: USB
emilmont 10:3bc89ef62ce7 78 DCD CAN_IRQHandler ; 41: CAN
emilmont 10:3bc89ef62ce7 79 DCD DMA_IRQHandler ; 42: General Purpose DMA
emilmont 10:3bc89ef62ce7 80 DCD I2S_IRQHandler ; 43: I2S
emilmont 10:3bc89ef62ce7 81 DCD ENET_IRQHandler ; 44: Ethernet
emilmont 10:3bc89ef62ce7 82 DCD MCI_IRQHandler ; 45: SD/MMC card I/F
emilmont 10:3bc89ef62ce7 83 DCD MCPWM_IRQHandler ; 46: Motor Control PWM
emilmont 10:3bc89ef62ce7 84 DCD QEI_IRQHandler ; 47: Quadrature Encoder Interface
emilmont 10:3bc89ef62ce7 85 DCD PLL1_IRQHandler ; 48: PLL1 Lock (USB PLL)
emilmont 10:3bc89ef62ce7 86 DCD USBActivity_IRQHandler ; 49: USB Activity interrupt to wakeup
emilmont 10:3bc89ef62ce7 87 DCD CANActivity_IRQHandler ; 50: CAN Activity interrupt to wakeup
emilmont 10:3bc89ef62ce7 88 DCD UART4_IRQHandler ; 51: UART4
emilmont 10:3bc89ef62ce7 89 DCD SSP2_IRQHandler ; 52: SSP2
emilmont 10:3bc89ef62ce7 90 DCD LCD_IRQHandler ; 53: LCD
emilmont 10:3bc89ef62ce7 91 DCD GPIO_IRQHandler ; 54: GPIO
emilmont 10:3bc89ef62ce7 92 DCD PWM0_IRQHandler ; 55: PWM0
emilmont 10:3bc89ef62ce7 93 DCD EEPROM_IRQHandler ; 56: EEPROM
emilmont 10:3bc89ef62ce7 94
emilmont 10:3bc89ef62ce7 95
emilmont 10:3bc89ef62ce7 96 IF :LNOT::DEF:NO_CRP
emilmont 10:3bc89ef62ce7 97 AREA |.ARM.__at_0x02FC|, CODE, READONLY
emilmont 10:3bc89ef62ce7 98 CRP_Key DCD 0xFFFFFFFF
emilmont 10:3bc89ef62ce7 99 ENDIF
emilmont 10:3bc89ef62ce7 100
emilmont 10:3bc89ef62ce7 101
emilmont 10:3bc89ef62ce7 102 AREA |.text|, CODE, READONLY
emilmont 10:3bc89ef62ce7 103
emilmont 10:3bc89ef62ce7 104
emilmont 10:3bc89ef62ce7 105 ; Reset Handler
emilmont 10:3bc89ef62ce7 106
emilmont 10:3bc89ef62ce7 107 Reset_Handler PROC
emilmont 10:3bc89ef62ce7 108 EXPORT Reset_Handler [WEAK]
emilmont 10:3bc89ef62ce7 109 IMPORT SystemInit
emilmont 10:3bc89ef62ce7 110 IMPORT __main
emilmont 10:3bc89ef62ce7 111 LDR R0, =SystemInit
emilmont 10:3bc89ef62ce7 112 BLX R0
emilmont 10:3bc89ef62ce7 113 LDR R0, =__main
emilmont 10:3bc89ef62ce7 114 BX R0
emilmont 10:3bc89ef62ce7 115 ENDP
emilmont 10:3bc89ef62ce7 116
emilmont 10:3bc89ef62ce7 117
emilmont 10:3bc89ef62ce7 118 ; Dummy Exception Handlers (infinite loops which can be modified)
emilmont 10:3bc89ef62ce7 119
emilmont 10:3bc89ef62ce7 120 NMI_Handler PROC
emilmont 10:3bc89ef62ce7 121 EXPORT NMI_Handler [WEAK]
emilmont 10:3bc89ef62ce7 122 B .
emilmont 10:3bc89ef62ce7 123 ENDP
emilmont 10:3bc89ef62ce7 124 HardFault_Handler\
emilmont 10:3bc89ef62ce7 125 PROC
emilmont 10:3bc89ef62ce7 126 EXPORT HardFault_Handler [WEAK]
emilmont 10:3bc89ef62ce7 127 B .
emilmont 10:3bc89ef62ce7 128 ENDP
emilmont 10:3bc89ef62ce7 129 MemManage_Handler\
emilmont 10:3bc89ef62ce7 130 PROC
emilmont 10:3bc89ef62ce7 131 EXPORT MemManage_Handler [WEAK]
emilmont 10:3bc89ef62ce7 132 B .
emilmont 10:3bc89ef62ce7 133 ENDP
emilmont 10:3bc89ef62ce7 134 BusFault_Handler\
emilmont 10:3bc89ef62ce7 135 PROC
emilmont 10:3bc89ef62ce7 136 EXPORT BusFault_Handler [WEAK]
emilmont 10:3bc89ef62ce7 137 B .
emilmont 10:3bc89ef62ce7 138 ENDP
emilmont 10:3bc89ef62ce7 139 UsageFault_Handler\
emilmont 10:3bc89ef62ce7 140 PROC
emilmont 10:3bc89ef62ce7 141 EXPORT UsageFault_Handler [WEAK]
emilmont 10:3bc89ef62ce7 142 B .
emilmont 10:3bc89ef62ce7 143 ENDP
emilmont 10:3bc89ef62ce7 144 SVC_Handler PROC
emilmont 10:3bc89ef62ce7 145 EXPORT SVC_Handler [WEAK]
emilmont 10:3bc89ef62ce7 146 B .
emilmont 10:3bc89ef62ce7 147 ENDP
emilmont 10:3bc89ef62ce7 148 DebugMon_Handler\
emilmont 10:3bc89ef62ce7 149 PROC
emilmont 10:3bc89ef62ce7 150 EXPORT DebugMon_Handler [WEAK]
emilmont 10:3bc89ef62ce7 151 B .
emilmont 10:3bc89ef62ce7 152 ENDP
emilmont 10:3bc89ef62ce7 153 PendSV_Handler PROC
emilmont 10:3bc89ef62ce7 154 EXPORT PendSV_Handler [WEAK]
emilmont 10:3bc89ef62ce7 155 B .
emilmont 10:3bc89ef62ce7 156 ENDP
emilmont 10:3bc89ef62ce7 157 SysTick_Handler PROC
emilmont 10:3bc89ef62ce7 158 EXPORT SysTick_Handler [WEAK]
emilmont 10:3bc89ef62ce7 159 B .
emilmont 10:3bc89ef62ce7 160 ENDP
emilmont 10:3bc89ef62ce7 161
emilmont 10:3bc89ef62ce7 162 Default_Handler PROC
emilmont 10:3bc89ef62ce7 163
emilmont 10:3bc89ef62ce7 164 EXPORT WDT_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 165 EXPORT TIMER0_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 166 EXPORT TIMER1_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 167 EXPORT TIMER2_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 168 EXPORT TIMER3_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 169 EXPORT UART0_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 170 EXPORT UART1_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 171 EXPORT UART2_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 172 EXPORT UART3_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 173 EXPORT PWM1_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 174 EXPORT I2C0_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 175 EXPORT I2C1_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 176 EXPORT I2C2_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 177 ;EXPORT SPIFI_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 178 EXPORT SSP0_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 179 EXPORT SSP1_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 180 EXPORT PLL0_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 181 EXPORT RTC_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 182 EXPORT EINT0_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 183 EXPORT EINT1_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 184 EXPORT EINT2_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 185 EXPORT EINT3_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 186 EXPORT ADC_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 187 EXPORT BOD_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 188 EXPORT USB_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 189 EXPORT CAN_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 190 EXPORT DMA_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 191 EXPORT I2S_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 192 EXPORT ENET_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 193 EXPORT MCI_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 194 EXPORT MCPWM_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 195 EXPORT QEI_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 196 EXPORT PLL1_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 197 EXPORT USBActivity_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 198 EXPORT CANActivity_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 199 EXPORT UART4_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 200 EXPORT SSP2_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 201 EXPORT LCD_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 202 EXPORT GPIO_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 203 EXPORT PWM0_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 204 EXPORT EEPROM_IRQHandler [WEAK]
emilmont 10:3bc89ef62ce7 205
emilmont 10:3bc89ef62ce7 206 WDT_IRQHandler
emilmont 10:3bc89ef62ce7 207 TIMER0_IRQHandler
emilmont 10:3bc89ef62ce7 208 TIMER1_IRQHandler
emilmont 10:3bc89ef62ce7 209 TIMER2_IRQHandler
emilmont 10:3bc89ef62ce7 210 TIMER3_IRQHandler
emilmont 10:3bc89ef62ce7 211 UART0_IRQHandler
emilmont 10:3bc89ef62ce7 212 UART1_IRQHandler
emilmont 10:3bc89ef62ce7 213 UART2_IRQHandler
emilmont 10:3bc89ef62ce7 214 UART3_IRQHandler
emilmont 10:3bc89ef62ce7 215 PWM1_IRQHandler
emilmont 10:3bc89ef62ce7 216 I2C0_IRQHandler
emilmont 10:3bc89ef62ce7 217 I2C1_IRQHandler
emilmont 10:3bc89ef62ce7 218 I2C2_IRQHandler
emilmont 10:3bc89ef62ce7 219 ;SPIFI_IRQHandler ;not used
emilmont 10:3bc89ef62ce7 220 SSP0_IRQHandler
emilmont 10:3bc89ef62ce7 221 SSP1_IRQHandler
emilmont 10:3bc89ef62ce7 222 PLL0_IRQHandler
emilmont 10:3bc89ef62ce7 223 RTC_IRQHandler
emilmont 10:3bc89ef62ce7 224 EINT0_IRQHandler
emilmont 10:3bc89ef62ce7 225 EINT1_IRQHandler
emilmont 10:3bc89ef62ce7 226 EINT2_IRQHandler
emilmont 10:3bc89ef62ce7 227 EINT3_IRQHandler
emilmont 10:3bc89ef62ce7 228 ADC_IRQHandler
emilmont 10:3bc89ef62ce7 229 BOD_IRQHandler
emilmont 10:3bc89ef62ce7 230 USB_IRQHandler
emilmont 10:3bc89ef62ce7 231 CAN_IRQHandler
emilmont 10:3bc89ef62ce7 232 DMA_IRQHandler
emilmont 10:3bc89ef62ce7 233 I2S_IRQHandler
emilmont 10:3bc89ef62ce7 234 ENET_IRQHandler
emilmont 10:3bc89ef62ce7 235 MCI_IRQHandler
emilmont 10:3bc89ef62ce7 236 MCPWM_IRQHandler
emilmont 10:3bc89ef62ce7 237 QEI_IRQHandler
emilmont 10:3bc89ef62ce7 238 PLL1_IRQHandler
emilmont 10:3bc89ef62ce7 239 USBActivity_IRQHandler
emilmont 10:3bc89ef62ce7 240 CANActivity_IRQHandler
emilmont 10:3bc89ef62ce7 241 UART4_IRQHandler
emilmont 10:3bc89ef62ce7 242 SSP2_IRQHandler
emilmont 10:3bc89ef62ce7 243 LCD_IRQHandler
emilmont 10:3bc89ef62ce7 244 GPIO_IRQHandler
emilmont 10:3bc89ef62ce7 245 PWM0_IRQHandler
emilmont 10:3bc89ef62ce7 246 EEPROM_IRQHandler
emilmont 10:3bc89ef62ce7 247
emilmont 10:3bc89ef62ce7 248 B .
emilmont 10:3bc89ef62ce7 249
emilmont 10:3bc89ef62ce7 250 ENDP
emilmont 10:3bc89ef62ce7 251
emilmont 10:3bc89ef62ce7 252
emilmont 10:3bc89ef62ce7 253 ALIGN
emilmont 10:3bc89ef62ce7 254 END