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:
Mon Nov 10 07:45:06 2014 +0000
Revision:
395:bfce16e86ea4
Parent:
270:e2babe29baf8
Synchronized with git revision 8adfd82aa1bf8859ec08537ee7bcd4aaaec1769b

Full URL: https://github.com/mbedmicro/mbed/commit/8adfd82aa1bf8859ec08537ee7bcd4aaaec1769b/

Targets: LPC176X - Add repeater pinmode

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 230:b37c24245c0d 1 /*
mbed_official 230:b37c24245c0d 2 Copyright (c) 2013, Nordic Semiconductor ASA
mbed_official 230:b37c24245c0d 3 All rights reserved.
mbed_official 230:b37c24245c0d 4
mbed_official 230:b37c24245c0d 5 Redistribution and use in source and binary forms, with or without
mbed_official 230:b37c24245c0d 6 modification, are permitted provided that the following conditions are met:
mbed_official 230:b37c24245c0d 7
mbed_official 230:b37c24245c0d 8 * Redistributions of source code must retain the above copyright notice, this
mbed_official 230:b37c24245c0d 9 list of conditions and the following disclaimer.
mbed_official 230:b37c24245c0d 10
mbed_official 230:b37c24245c0d 11 * Redistributions in binary form must reproduce the above copyright notice,
mbed_official 230:b37c24245c0d 12 this list of conditions and the following disclaimer in the documentation
mbed_official 230:b37c24245c0d 13 and/or other materials provided with the distribution.
mbed_official 230:b37c24245c0d 14
mbed_official 230:b37c24245c0d 15 * Neither the name of Nordic Semiconductor ASA nor the names of its
mbed_official 230:b37c24245c0d 16 contributors may be used to endorse or promote products derived from
mbed_official 230:b37c24245c0d 17 this software without specific prior written permission.
mbed_official 230:b37c24245c0d 18
mbed_official 230:b37c24245c0d 19 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 230:b37c24245c0d 20 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 230:b37c24245c0d 21 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 230:b37c24245c0d 22 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 230:b37c24245c0d 23 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 230:b37c24245c0d 24 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 230:b37c24245c0d 25 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 230:b37c24245c0d 26 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 230:b37c24245c0d 27 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 230:b37c24245c0d 28 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 230:b37c24245c0d 29 */
mbed_official 230:b37c24245c0d 30
mbed_official 230:b37c24245c0d 31 /*
mbed_official 230:b37c24245c0d 32 NOTE: Template files (including this one) are application specific and therefore
mbed_official 230:b37c24245c0d 33 expected to be copied into the application project folder prior to its use!
mbed_official 230:b37c24245c0d 34 */
mbed_official 230:b37c24245c0d 35
mbed_official 230:b37c24245c0d 36 .syntax unified
mbed_official 230:b37c24245c0d 37 .arch armv6-m
mbed_official 230:b37c24245c0d 38
mbed_official 230:b37c24245c0d 39 .section .stack
mbed_official 230:b37c24245c0d 40 .align 3
mbed_official 230:b37c24245c0d 41 #ifdef __STACK_SIZE
mbed_official 230:b37c24245c0d 42 .equ Stack_Size, __STACK_SIZE
mbed_official 230:b37c24245c0d 43 #else
mbed_official 230:b37c24245c0d 44 .equ Stack_Size, 2048
mbed_official 230:b37c24245c0d 45 #endif
mbed_official 230:b37c24245c0d 46 .globl __StackTop
mbed_official 230:b37c24245c0d 47 .globl __StackLimit
mbed_official 230:b37c24245c0d 48 __StackLimit:
mbed_official 230:b37c24245c0d 49 .space Stack_Size
mbed_official 230:b37c24245c0d 50 .size __StackLimit, . - __StackLimit
mbed_official 230:b37c24245c0d 51 __StackTop:
mbed_official 230:b37c24245c0d 52 .size __StackTop, . - __StackTop
mbed_official 230:b37c24245c0d 53
mbed_official 230:b37c24245c0d 54 .section .heap
mbed_official 230:b37c24245c0d 55 .align 3
mbed_official 230:b37c24245c0d 56 #ifdef __HEAP_SIZE
mbed_official 230:b37c24245c0d 57 .equ Heap_Size, __HEAP_SIZE
mbed_official 230:b37c24245c0d 58 #else
mbed_official 230:b37c24245c0d 59 .equ Heap_Size, 2048
mbed_official 230:b37c24245c0d 60 #endif
mbed_official 230:b37c24245c0d 61 .globl __HeapBase
mbed_official 230:b37c24245c0d 62 .globl __HeapLimit
mbed_official 230:b37c24245c0d 63 __HeapBase:
mbed_official 230:b37c24245c0d 64 .if Heap_Size
mbed_official 230:b37c24245c0d 65 .space Heap_Size
mbed_official 230:b37c24245c0d 66 .endif
mbed_official 230:b37c24245c0d 67 .size __HeapBase, . - __HeapBase
mbed_official 230:b37c24245c0d 68 __HeapLimit:
mbed_official 230:b37c24245c0d 69 .size __HeapLimit, . - __HeapLimit
mbed_official 230:b37c24245c0d 70
mbed_official 230:b37c24245c0d 71 .section .Vectors
mbed_official 230:b37c24245c0d 72 .align 2
mbed_official 230:b37c24245c0d 73 .globl __Vectors
mbed_official 230:b37c24245c0d 74 __Vectors:
mbed_official 230:b37c24245c0d 75 .long __StackTop /* Top of Stack */
mbed_official 230:b37c24245c0d 76 .long Reset_Handler /* Reset Handler */
mbed_official 230:b37c24245c0d 77 .long NMI_Handler /* NMI Handler */
mbed_official 230:b37c24245c0d 78 .long HardFault_Handler /* Hard Fault Handler */
mbed_official 230:b37c24245c0d 79 .long 0 /* Reserved */
mbed_official 230:b37c24245c0d 80 .long 0 /* Reserved */
mbed_official 230:b37c24245c0d 81 .long 0 /* Reserved */
mbed_official 230:b37c24245c0d 82 .long 0 /* Reserved */
mbed_official 230:b37c24245c0d 83 .long 0 /* Reserved */
mbed_official 230:b37c24245c0d 84 .long 0 /* Reserved */
mbed_official 230:b37c24245c0d 85 .long 0 /* Reserved */
mbed_official 230:b37c24245c0d 86 .long SVC_Handler /* SVCall Handler */
mbed_official 230:b37c24245c0d 87 .long 0 /* Reserved */
mbed_official 230:b37c24245c0d 88 .long 0 /* Reserved */
mbed_official 230:b37c24245c0d 89 .long PendSV_Handler /* PendSV Handler */
mbed_official 230:b37c24245c0d 90 .long SysTick_Handler /* SysTick Handler */
mbed_official 230:b37c24245c0d 91
mbed_official 230:b37c24245c0d 92 /* External Interrupts */
mbed_official 230:b37c24245c0d 93 .long POWER_CLOCK_IRQHandler /*POWER_CLOCK */
mbed_official 230:b37c24245c0d 94 .long RADIO_IRQHandler /*RADIO */
mbed_official 230:b37c24245c0d 95 .long UART0_IRQHandler /*UART0 */
mbed_official 230:b37c24245c0d 96 .long SPI0_TWI0_IRQHandler /*SPI0_TWI0 */
mbed_official 230:b37c24245c0d 97 .long SPI1_TWI1_IRQHandler /*SPI1_TWI1 */
mbed_official 230:b37c24245c0d 98 .long 0 /*Reserved */
mbed_official 230:b37c24245c0d 99 .long GPIOTE_IRQHandler /*GPIOTE */
mbed_official 230:b37c24245c0d 100 .long ADC_IRQHandler /*ADC */
mbed_official 230:b37c24245c0d 101 .long TIMER0_IRQHandler /*TIMER0 */
mbed_official 230:b37c24245c0d 102 .long TIMER1_IRQHandler /*TIMER1 */
mbed_official 230:b37c24245c0d 103 .long TIMER2_IRQHandler /*TIMER2 */
mbed_official 230:b37c24245c0d 104 .long RTC0_IRQHandler /*RTC0 */
mbed_official 230:b37c24245c0d 105 .long TEMP_IRQHandler /*TEMP */
mbed_official 230:b37c24245c0d 106 .long RNG_IRQHandler /*RNG */
mbed_official 230:b37c24245c0d 107 .long ECB_IRQHandler /*ECB */
mbed_official 230:b37c24245c0d 108 .long CCM_AAR_IRQHandler /*CCM_AAR */
mbed_official 230:b37c24245c0d 109 .long WDT_IRQHandler /*WDT */
mbed_official 230:b37c24245c0d 110 .long RTC1_IRQHandler /*RTC1 */
mbed_official 230:b37c24245c0d 111 .long QDEC_IRQHandler /*QDEC */
mbed_official 230:b37c24245c0d 112 .long LPCOMP_IRQHandler /*LPCOMP */
mbed_official 230:b37c24245c0d 113 .long SWI0_IRQHandler /*SWI0 */
mbed_official 230:b37c24245c0d 114 .long SWI1_IRQHandler /*SWI1 */
mbed_official 230:b37c24245c0d 115 .long SWI2_IRQHandler /*SWI2 */
mbed_official 230:b37c24245c0d 116 .long SWI3_IRQHandler /*SWI3 */
mbed_official 230:b37c24245c0d 117 .long SWI4_IRQHandler /*SWI4 */
mbed_official 230:b37c24245c0d 118 .long SWI5_IRQHandler /*SWI5 */
mbed_official 230:b37c24245c0d 119 .long 0 /*Reserved */
mbed_official 230:b37c24245c0d 120 .long 0 /*Reserved */
mbed_official 230:b37c24245c0d 121 .long 0 /*Reserved */
mbed_official 230:b37c24245c0d 122 .long 0 /*Reserved */
mbed_official 230:b37c24245c0d 123 .long 0 /*Reserved */
mbed_official 230:b37c24245c0d 124 .long 0 /*Reserved */
mbed_official 230:b37c24245c0d 125
mbed_official 230:b37c24245c0d 126
mbed_official 230:b37c24245c0d 127 .size __Vectors, . - __Vectors
mbed_official 230:b37c24245c0d 128
mbed_official 230:b37c24245c0d 129 /* Reset Handler */
mbed_official 230:b37c24245c0d 130
mbed_official 230:b37c24245c0d 131 .equ NRF_POWER_RAMON_ADDRESS, 0x40000524
mbed_official 230:b37c24245c0d 132 .equ NRF_POWER_RAMON_RAMxON_ONMODE_Msk, 0x3
mbed_official 230:b37c24245c0d 133
mbed_official 230:b37c24245c0d 134 .text
mbed_official 230:b37c24245c0d 135 .thumb
mbed_official 230:b37c24245c0d 136 .thumb_func
mbed_official 230:b37c24245c0d 137 .align 1
mbed_official 230:b37c24245c0d 138 .globl Reset_Handler
mbed_official 230:b37c24245c0d 139 .type Reset_Handler, %function
mbed_official 230:b37c24245c0d 140 Reset_Handler:
mbed_official 230:b37c24245c0d 141 .fnstart
mbed_official 230:b37c24245c0d 142
mbed_official 230:b37c24245c0d 143 /* Make sure ALL RAM banks are powered on */
mbed_official 230:b37c24245c0d 144 LDR R0, =NRF_POWER_RAMON_ADDRESS
mbed_official 230:b37c24245c0d 145 LDR R2, [R0]
mbed_official 230:b37c24245c0d 146 MOVS R1, #NRF_POWER_RAMON_RAMxON_ONMODE_Msk
mbed_official 230:b37c24245c0d 147 ORRS R2, R1
mbed_official 230:b37c24245c0d 148 STR R2, [R0]
mbed_official 230:b37c24245c0d 149
mbed_official 230:b37c24245c0d 150 /* Loop to copy data from read only memory to RAM. The ranges
mbed_official 230:b37c24245c0d 151 * of copy from/to are specified by following symbols evaluated in
mbed_official 230:b37c24245c0d 152 * linker script.
mbed_official 230:b37c24245c0d 153 * __etext: End of code section, i.e., begin of data sections to copy from.
mbed_official 230:b37c24245c0d 154 * __data_start__/__data_end__: RAM address range that data should be
mbed_official 230:b37c24245c0d 155 * copied to. Both must be aligned to 4 bytes boundary. */
mbed_official 230:b37c24245c0d 156
mbed_official 230:b37c24245c0d 157 ldr r1, =__etext
mbed_official 230:b37c24245c0d 158 ldr r2, =__data_start__
mbed_official 230:b37c24245c0d 159 ldr r3, =__data_end__
mbed_official 230:b37c24245c0d 160
mbed_official 230:b37c24245c0d 161 subs r3, r2
mbed_official 230:b37c24245c0d 162 ble .LC0
mbed_official 230:b37c24245c0d 163
mbed_official 230:b37c24245c0d 164 .LC1:
mbed_official 230:b37c24245c0d 165 subs r3, 4
mbed_official 230:b37c24245c0d 166 ldr r0, [r1,r3]
mbed_official 230:b37c24245c0d 167 str r0, [r2,r3]
mbed_official 230:b37c24245c0d 168 bgt .LC1
mbed_official 230:b37c24245c0d 169 .LC0:
mbed_official 230:b37c24245c0d 170
mbed_official 230:b37c24245c0d 171 LDR R0, =SystemInit
mbed_official 230:b37c24245c0d 172 BLX R0
mbed_official 230:b37c24245c0d 173 LDR R0, =_start
mbed_official 230:b37c24245c0d 174 BX R0
mbed_official 230:b37c24245c0d 175
mbed_official 230:b37c24245c0d 176 .pool
mbed_official 230:b37c24245c0d 177 .cantunwind
mbed_official 230:b37c24245c0d 178 .fnend
mbed_official 230:b37c24245c0d 179 .size Reset_Handler,.-Reset_Handler
mbed_official 230:b37c24245c0d 180
mbed_official 230:b37c24245c0d 181 .section ".text"
mbed_official 230:b37c24245c0d 182
mbed_official 230:b37c24245c0d 183
mbed_official 230:b37c24245c0d 184 /* Dummy Exception Handlers (infinite loops which can be modified) */
mbed_official 230:b37c24245c0d 185
mbed_official 230:b37c24245c0d 186 .weak NMI_Handler
mbed_official 230:b37c24245c0d 187 .type NMI_Handler, %function
mbed_official 230:b37c24245c0d 188 NMI_Handler:
mbed_official 230:b37c24245c0d 189 B .
mbed_official 230:b37c24245c0d 190 .size NMI_Handler, . - NMI_Handler
mbed_official 230:b37c24245c0d 191
mbed_official 230:b37c24245c0d 192
mbed_official 230:b37c24245c0d 193 .weak HardFault_Handler
mbed_official 230:b37c24245c0d 194 .type HardFault_Handler, %function
mbed_official 230:b37c24245c0d 195 HardFault_Handler:
mbed_official 230:b37c24245c0d 196 B .
mbed_official 230:b37c24245c0d 197 .size HardFault_Handler, . - HardFault_Handler
mbed_official 230:b37c24245c0d 198
mbed_official 230:b37c24245c0d 199
mbed_official 230:b37c24245c0d 200 .weak SVC_Handler
mbed_official 230:b37c24245c0d 201 .type SVC_Handler, %function
mbed_official 230:b37c24245c0d 202 SVC_Handler:
mbed_official 230:b37c24245c0d 203 B .
mbed_official 230:b37c24245c0d 204 .size SVC_Handler, . - SVC_Handler
mbed_official 230:b37c24245c0d 205
mbed_official 230:b37c24245c0d 206
mbed_official 230:b37c24245c0d 207 .weak PendSV_Handler
mbed_official 230:b37c24245c0d 208 .type PendSV_Handler, %function
mbed_official 230:b37c24245c0d 209 PendSV_Handler:
mbed_official 230:b37c24245c0d 210 B .
mbed_official 230:b37c24245c0d 211 .size PendSV_Handler, . - PendSV_Handler
mbed_official 230:b37c24245c0d 212
mbed_official 230:b37c24245c0d 213
mbed_official 230:b37c24245c0d 214 .weak SysTick_Handler
mbed_official 230:b37c24245c0d 215 .type SysTick_Handler, %function
mbed_official 230:b37c24245c0d 216 SysTick_Handler:
mbed_official 230:b37c24245c0d 217 B .
mbed_official 230:b37c24245c0d 218 .size SysTick_Handler, . - SysTick_Handler
mbed_official 230:b37c24245c0d 219
mbed_official 230:b37c24245c0d 220
mbed_official 230:b37c24245c0d 221 /* IRQ Handlers */
mbed_official 230:b37c24245c0d 222
mbed_official 230:b37c24245c0d 223 .globl Default_Handler
mbed_official 230:b37c24245c0d 224 .type Default_Handler, %function
mbed_official 230:b37c24245c0d 225 Default_Handler:
mbed_official 230:b37c24245c0d 226 B .
mbed_official 230:b37c24245c0d 227 .size Default_Handler, . - Default_Handler
mbed_official 230:b37c24245c0d 228
mbed_official 230:b37c24245c0d 229 .macro IRQ handler
mbed_official 230:b37c24245c0d 230 .weak \handler
mbed_official 230:b37c24245c0d 231 .set \handler, Default_Handler
mbed_official 230:b37c24245c0d 232 .endm
mbed_official 230:b37c24245c0d 233
mbed_official 230:b37c24245c0d 234 IRQ POWER_CLOCK_IRQHandler
mbed_official 230:b37c24245c0d 235 IRQ RADIO_IRQHandler
mbed_official 230:b37c24245c0d 236 IRQ UART0_IRQHandler
mbed_official 230:b37c24245c0d 237 IRQ SPI0_TWI0_IRQHandler
mbed_official 230:b37c24245c0d 238 IRQ SPI1_TWI1_IRQHandler
mbed_official 230:b37c24245c0d 239 IRQ GPIOTE_IRQHandler
mbed_official 230:b37c24245c0d 240 IRQ ADC_IRQHandler
mbed_official 230:b37c24245c0d 241 IRQ TIMER0_IRQHandler
mbed_official 230:b37c24245c0d 242 IRQ TIMER1_IRQHandler
mbed_official 230:b37c24245c0d 243 IRQ TIMER2_IRQHandler
mbed_official 230:b37c24245c0d 244 IRQ RTC0_IRQHandler
mbed_official 230:b37c24245c0d 245 IRQ TEMP_IRQHandler
mbed_official 230:b37c24245c0d 246 IRQ RNG_IRQHandler
mbed_official 230:b37c24245c0d 247 IRQ ECB_IRQHandler
mbed_official 230:b37c24245c0d 248 IRQ CCM_AAR_IRQHandler
mbed_official 230:b37c24245c0d 249 IRQ WDT_IRQHandler
mbed_official 230:b37c24245c0d 250 IRQ RTC1_IRQHandler
mbed_official 230:b37c24245c0d 251 IRQ QDEC_IRQHandler
mbed_official 230:b37c24245c0d 252 IRQ LPCOMP_IRQHandler
mbed_official 230:b37c24245c0d 253 IRQ SWI0_IRQHandler
mbed_official 230:b37c24245c0d 254 IRQ SWI1_IRQHandler
mbed_official 230:b37c24245c0d 255 IRQ SWI2_IRQHandler
mbed_official 230:b37c24245c0d 256 IRQ SWI3_IRQHandler
mbed_official 230:b37c24245c0d 257 IRQ SWI4_IRQHandler
mbed_official 230:b37c24245c0d 258 IRQ SWI5_IRQHandler
mbed_official 230:b37c24245c0d 259
mbed_official 230:b37c24245c0d 260
mbed_official 230:b37c24245c0d 261 .end
mbed_official 230:b37c24245c0d 262