Toyomasa Watarai / mbed-dev

Fork of mbed-dev by mbed official

Committer:
MACRUM
Date:
Fri Feb 19 06:16:11 2016 +0000
Revision:
68:53d4cfd70523
Parent:
0:9b334a45a8ff
Add state reset code in analogin_init() for Nucleo F303K8 target

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 0:9b334a45a8ff 1 ;/*****************************************************************************
bogdanm 0:9b334a45a8ff 2 ; * @file: startup_LPC8xx.s
bogdanm 0:9b334a45a8ff 3 ; * @purpose: CMSIS Cortex-M0+ Core Device Startup File
bogdanm 0:9b334a45a8ff 4 ; * for the NXP LPC8xx Device Series
bogdanm 0:9b334a45a8ff 5 ; * @version: V1.0
bogdanm 0:9b334a45a8ff 6 ; * @date: 16. Aug. 2012
bogdanm 0:9b334a45a8ff 7 ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
bogdanm 0:9b334a45a8ff 8 ; *
bogdanm 0:9b334a45a8ff 9 ; * Copyright (C) 2012 ARM Limited. All rights reserved.
bogdanm 0:9b334a45a8ff 10 ; * ARM Limited (ARM) is supplying this software for use with Cortex-M0+
bogdanm 0:9b334a45a8ff 11 ; * processor based microcontrollers. This file can be freely distributed
bogdanm 0:9b334a45a8ff 12 ; * within development tools that are supporting such ARM based processors.
bogdanm 0:9b334a45a8ff 13 ; *
bogdanm 0:9b334a45a8ff 14 ; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
bogdanm 0:9b334a45a8ff 15 ; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
bogdanm 0:9b334a45a8ff 16 ; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
bogdanm 0:9b334a45a8ff 17 ; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
bogdanm 0:9b334a45a8ff 18 ; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
bogdanm 0:9b334a45a8ff 19 ; *
bogdanm 0:9b334a45a8ff 20 ; *****************************************************************************/
bogdanm 0:9b334a45a8ff 21
bogdanm 0:9b334a45a8ff 22
bogdanm 0:9b334a45a8ff 23 ; <h> Stack Configuration
bogdanm 0:9b334a45a8ff 24 ; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
bogdanm 0:9b334a45a8ff 25 ; </h>
bogdanm 0:9b334a45a8ff 26
bogdanm 0:9b334a45a8ff 27 Stack_Size EQU 0x00000200
bogdanm 0:9b334a45a8ff 28
bogdanm 0:9b334a45a8ff 29 AREA STACK, NOINIT, READWRITE, ALIGN=3
bogdanm 0:9b334a45a8ff 30 EXPORT __initial_sp
bogdanm 0:9b334a45a8ff 31
bogdanm 0:9b334a45a8ff 32 Stack_Mem SPACE Stack_Size
bogdanm 0:9b334a45a8ff 33 __initial_sp EQU 0x10001000
bogdanm 0:9b334a45a8ff 34
bogdanm 0:9b334a45a8ff 35
bogdanm 0:9b334a45a8ff 36 ; <h> Heap Configuration
bogdanm 0:9b334a45a8ff 37 ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
bogdanm 0:9b334a45a8ff 38 ; </h>
bogdanm 0:9b334a45a8ff 39
bogdanm 0:9b334a45a8ff 40 Heap_Size EQU 0x00000000
bogdanm 0:9b334a45a8ff 41
bogdanm 0:9b334a45a8ff 42 AREA HEAP, NOINIT, READWRITE, ALIGN=3
bogdanm 0:9b334a45a8ff 43 EXPORT __heap_base
bogdanm 0:9b334a45a8ff 44 EXPORT __heap_limit
bogdanm 0:9b334a45a8ff 45
bogdanm 0:9b334a45a8ff 46 __heap_base
bogdanm 0:9b334a45a8ff 47 Heap_Mem SPACE Heap_Size
bogdanm 0:9b334a45a8ff 48 __heap_limit
bogdanm 0:9b334a45a8ff 49
bogdanm 0:9b334a45a8ff 50 PRESERVE8
bogdanm 0:9b334a45a8ff 51 THUMB
bogdanm 0:9b334a45a8ff 52
bogdanm 0:9b334a45a8ff 53
bogdanm 0:9b334a45a8ff 54 ; Vector Table Mapped to Address 0 at Reset
bogdanm 0:9b334a45a8ff 55
bogdanm 0:9b334a45a8ff 56 AREA RESET, DATA, READONLY
bogdanm 0:9b334a45a8ff 57 EXPORT __Vectors
bogdanm 0:9b334a45a8ff 58
bogdanm 0:9b334a45a8ff 59 __Vectors DCD __initial_sp ; Top of Stack
bogdanm 0:9b334a45a8ff 60 DCD Reset_Handler ; Reset Handler
bogdanm 0:9b334a45a8ff 61 DCD NMI_Handler ; NMI Handler
bogdanm 0:9b334a45a8ff 62 DCD HardFault_Handler ; Hard Fault Handler
bogdanm 0:9b334a45a8ff 63 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 64 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 65 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 66 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 67 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 68 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 69 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 70 DCD SVC_Handler ; SVCall Handler
bogdanm 0:9b334a45a8ff 71 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 72 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 73 DCD PendSV_Handler ; PendSV Handler
bogdanm 0:9b334a45a8ff 74 DCD SysTick_Handler ; SysTick Handler
bogdanm 0:9b334a45a8ff 75
bogdanm 0:9b334a45a8ff 76 ; External Interrupts
bogdanm 0:9b334a45a8ff 77 DCD SPI0_IRQHandler ; SPI0 controller
bogdanm 0:9b334a45a8ff 78 DCD SPI1_IRQHandler ; SPI1 controller
bogdanm 0:9b334a45a8ff 79 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 80 DCD UART0_IRQHandler ; UART0
bogdanm 0:9b334a45a8ff 81 DCD UART1_IRQHandler ; UART1
bogdanm 0:9b334a45a8ff 82 DCD UART2_IRQHandler ; UART2
bogdanm 0:9b334a45a8ff 83 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 84 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 85 DCD I2C_IRQHandler ; I2C controller
bogdanm 0:9b334a45a8ff 86 DCD SCT_IRQHandler ; Smart Counter Timer
bogdanm 0:9b334a45a8ff 87 DCD MRT_IRQHandler ; Multi-Rate Timer
bogdanm 0:9b334a45a8ff 88 DCD CMP_IRQHandler ; Comparator
bogdanm 0:9b334a45a8ff 89 DCD WDT_IRQHandler ; PIO1 (0:11)
bogdanm 0:9b334a45a8ff 90 DCD BOD_IRQHandler ; Brown Out Detect
bogdanm 0:9b334a45a8ff 91 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 92 DCD WKT_IRQHandler ; Wakeup timer
bogdanm 0:9b334a45a8ff 93 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 94 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 95 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 96 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 97 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 98 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 99 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 100 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 101 DCD PININT0_IRQHandler ; PIO INT0
bogdanm 0:9b334a45a8ff 102 DCD PININT1_IRQHandler ; PIO INT1
bogdanm 0:9b334a45a8ff 103 DCD PININT2_IRQHandler ; PIO INT2
bogdanm 0:9b334a45a8ff 104 DCD PININT3_IRQHandler ; PIO INT3
bogdanm 0:9b334a45a8ff 105 DCD PININT4_IRQHandler ; PIO INT4
bogdanm 0:9b334a45a8ff 106 DCD PININT5_IRQHandler ; PIO INT5
bogdanm 0:9b334a45a8ff 107 DCD PININT6_IRQHandler ; PIO INT6
bogdanm 0:9b334a45a8ff 108 DCD PININT7_IRQHandler ; PIO INT7
bogdanm 0:9b334a45a8ff 109
bogdanm 0:9b334a45a8ff 110
bogdanm 0:9b334a45a8ff 111 IF :LNOT::DEF:NO_CRP
bogdanm 0:9b334a45a8ff 112 AREA |.ARM.__at_0x02FC|, CODE, READONLY
bogdanm 0:9b334a45a8ff 113 CRP_Key DCD 0xFFFFFFFF
bogdanm 0:9b334a45a8ff 114 ENDIF
bogdanm 0:9b334a45a8ff 115
bogdanm 0:9b334a45a8ff 116
bogdanm 0:9b334a45a8ff 117 AREA |.text|, CODE, READONLY
bogdanm 0:9b334a45a8ff 118
bogdanm 0:9b334a45a8ff 119
bogdanm 0:9b334a45a8ff 120 ; Reset Handler
bogdanm 0:9b334a45a8ff 121
bogdanm 0:9b334a45a8ff 122 Reset_Handler PROC
bogdanm 0:9b334a45a8ff 123 EXPORT Reset_Handler [WEAK]
bogdanm 0:9b334a45a8ff 124 IMPORT SystemInit
bogdanm 0:9b334a45a8ff 125 IMPORT __main
bogdanm 0:9b334a45a8ff 126 LDR R0, =SystemInit
bogdanm 0:9b334a45a8ff 127 BLX R0
bogdanm 0:9b334a45a8ff 128 LDR R0, =__main
bogdanm 0:9b334a45a8ff 129 BX R0
bogdanm 0:9b334a45a8ff 130 ENDP
bogdanm 0:9b334a45a8ff 131
bogdanm 0:9b334a45a8ff 132
bogdanm 0:9b334a45a8ff 133 ; Dummy Exception Handlers (infinite loops which can be modified)
bogdanm 0:9b334a45a8ff 134 ; now, under COMMON lpc8xx_nmi.c and lpc8xx_nmi.h, a real NMI handler is created if NMI is enabled
bogdanm 0:9b334a45a8ff 135 ; for particular peripheral.
bogdanm 0:9b334a45a8ff 136 ;NMI_Handler PROC
bogdanm 0:9b334a45a8ff 137 ; EXPORT NMI_Handler [WEAK]
bogdanm 0:9b334a45a8ff 138 ; B .
bogdanm 0:9b334a45a8ff 139 ; ENDP
bogdanm 0:9b334a45a8ff 140 HardFault_Handler\
bogdanm 0:9b334a45a8ff 141 PROC
bogdanm 0:9b334a45a8ff 142 EXPORT HardFault_Handler [WEAK]
bogdanm 0:9b334a45a8ff 143 B .
bogdanm 0:9b334a45a8ff 144 ENDP
bogdanm 0:9b334a45a8ff 145 SVC_Handler PROC
bogdanm 0:9b334a45a8ff 146 EXPORT SVC_Handler [WEAK]
bogdanm 0:9b334a45a8ff 147 B .
bogdanm 0:9b334a45a8ff 148 ENDP
bogdanm 0:9b334a45a8ff 149 PendSV_Handler PROC
bogdanm 0:9b334a45a8ff 150 EXPORT PendSV_Handler [WEAK]
bogdanm 0:9b334a45a8ff 151 B .
bogdanm 0:9b334a45a8ff 152 ENDP
bogdanm 0:9b334a45a8ff 153 SysTick_Handler PROC
bogdanm 0:9b334a45a8ff 154 EXPORT SysTick_Handler [WEAK]
bogdanm 0:9b334a45a8ff 155 B .
bogdanm 0:9b334a45a8ff 156 ENDP
bogdanm 0:9b334a45a8ff 157
bogdanm 0:9b334a45a8ff 158 Default_Handler PROC
bogdanm 0:9b334a45a8ff 159
bogdanm 0:9b334a45a8ff 160 EXPORT NMI_Handler [WEAK]
bogdanm 0:9b334a45a8ff 161 EXPORT SPI0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 162 EXPORT SPI1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 163 EXPORT UART0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 164 EXPORT UART1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 165 EXPORT UART2_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 166 EXPORT I2C_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 167 EXPORT SCT_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 168 EXPORT MRT_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 169 EXPORT CMP_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 170 EXPORT WDT_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 171 EXPORT BOD_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 172
bogdanm 0:9b334a45a8ff 173 EXPORT WKT_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 174
bogdanm 0:9b334a45a8ff 175 EXPORT PININT0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 176 EXPORT PININT1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 177 EXPORT PININT2_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 178 EXPORT PININT3_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 179 EXPORT PININT4_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 180 EXPORT PININT5_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 181 EXPORT PININT6_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 182 EXPORT PININT7_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 183
bogdanm 0:9b334a45a8ff 184 NMI_Handler
bogdanm 0:9b334a45a8ff 185 SPI0_IRQHandler
bogdanm 0:9b334a45a8ff 186 SPI1_IRQHandler
bogdanm 0:9b334a45a8ff 187 UART0_IRQHandler
bogdanm 0:9b334a45a8ff 188 UART1_IRQHandler
bogdanm 0:9b334a45a8ff 189 UART2_IRQHandler
bogdanm 0:9b334a45a8ff 190 I2C_IRQHandler
bogdanm 0:9b334a45a8ff 191 SCT_IRQHandler
bogdanm 0:9b334a45a8ff 192 MRT_IRQHandler
bogdanm 0:9b334a45a8ff 193 CMP_IRQHandler
bogdanm 0:9b334a45a8ff 194 WDT_IRQHandler
bogdanm 0:9b334a45a8ff 195 BOD_IRQHandler
bogdanm 0:9b334a45a8ff 196 WKT_IRQHandler
bogdanm 0:9b334a45a8ff 197 PININT0_IRQHandler
bogdanm 0:9b334a45a8ff 198 PININT1_IRQHandler
bogdanm 0:9b334a45a8ff 199 PININT2_IRQHandler
bogdanm 0:9b334a45a8ff 200 PININT3_IRQHandler
bogdanm 0:9b334a45a8ff 201 PININT4_IRQHandler
bogdanm 0:9b334a45a8ff 202 PININT5_IRQHandler
bogdanm 0:9b334a45a8ff 203 PININT6_IRQHandler
bogdanm 0:9b334a45a8ff 204 PININT7_IRQHandler
bogdanm 0:9b334a45a8ff 205
bogdanm 0:9b334a45a8ff 206 B .
bogdanm 0:9b334a45a8ff 207
bogdanm 0:9b334a45a8ff 208 ENDP
bogdanm 0:9b334a45a8ff 209
bogdanm 0:9b334a45a8ff 210 ALIGN
bogdanm 0:9b334a45a8ff 211 END