Sergey Solodunov / mbed-dev

Fork of mbed-dev by mbed official

Committer:
bogdanm
Date:
Thu Oct 01 15:25:22 2015 +0300
Revision:
0:9b334a45a8ff
Child:
50:a417edff4437
Initial commit on mbed-dev

Replaces mbed-src (now inactive)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 0:9b334a45a8ff 1 ;/**************************************************************************//**
bogdanm 0:9b334a45a8ff 2 ; * @file startup_efm32zg.s
bogdanm 0:9b334a45a8ff 3 ; * @brief CMSIS Core Device Startup File for
bogdanm 0:9b334a45a8ff 4 ; * Silicon Labs EFM32ZG Device Series
bogdanm 0:9b334a45a8ff 5 ; * @version 3.20.6
bogdanm 0:9b334a45a8ff 6 ; * @date 03. February 2012
bogdanm 0:9b334a45a8ff 7 ; *
bogdanm 0:9b334a45a8ff 8 ; * @note
bogdanm 0:9b334a45a8ff 9 ; * Copyright (C) 2012 ARM Limited. All rights reserved.
bogdanm 0:9b334a45a8ff 10 ; *
bogdanm 0:9b334a45a8ff 11 ; * @par
bogdanm 0:9b334a45a8ff 12 ; * ARM Limited (ARM) is supplying this software for use with Cortex-M
bogdanm 0:9b334a45a8ff 13 ; * processor based microcontrollers. This file can be freely distributed
bogdanm 0:9b334a45a8ff 14 ; * within development tools that are supporting such ARM based processors.
bogdanm 0:9b334a45a8ff 15 ; *
bogdanm 0:9b334a45a8ff 16 ; * @par
bogdanm 0:9b334a45a8ff 17 ; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
bogdanm 0:9b334a45a8ff 18 ; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
bogdanm 0:9b334a45a8ff 19 ; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
bogdanm 0:9b334a45a8ff 20 ; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
bogdanm 0:9b334a45a8ff 21 ; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
bogdanm 0:9b334a45a8ff 22 ; *
bogdanm 0:9b334a45a8ff 23 ; ******************************************************************************/
bogdanm 0:9b334a45a8ff 24 ;/*
bogdanm 0:9b334a45a8ff 25 ;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------
bogdanm 0:9b334a45a8ff 26 ;*/
bogdanm 0:9b334a45a8ff 27
bogdanm 0:9b334a45a8ff 28 ; <h> Stack Configuration
bogdanm 0:9b334a45a8ff 29 ; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
bogdanm 0:9b334a45a8ff 30 ; </h>
bogdanm 0:9b334a45a8ff 31
bogdanm 0:9b334a45a8ff 32 Stack_Size EQU 0x00000200
bogdanm 0:9b334a45a8ff 33
bogdanm 0:9b334a45a8ff 34 AREA STACK, NOINIT, READWRITE, ALIGN=3
bogdanm 0:9b334a45a8ff 35 Stack_Mem SPACE Stack_Size
bogdanm 0:9b334a45a8ff 36 __initial_sp EQU 0x20001000
bogdanm 0:9b334a45a8ff 37
bogdanm 0:9b334a45a8ff 38
bogdanm 0:9b334a45a8ff 39 ; <h> Heap Configuration
bogdanm 0:9b334a45a8ff 40 ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
bogdanm 0:9b334a45a8ff 41 ; </h>
bogdanm 0:9b334a45a8ff 42
bogdanm 0:9b334a45a8ff 43 Heap_Size EQU 0x0
bogdanm 0:9b334a45a8ff 44
bogdanm 0:9b334a45a8ff 45 AREA HEAP, NOINIT, READWRITE, ALIGN=3
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
bogdanm 0:9b334a45a8ff 51 PRESERVE8
bogdanm 0:9b334a45a8ff 52 THUMB
bogdanm 0:9b334a45a8ff 53
bogdanm 0:9b334a45a8ff 54
bogdanm 0:9b334a45a8ff 55 ; Vector Table Mapped to Address 0 at Reset
bogdanm 0:9b334a45a8ff 56
bogdanm 0:9b334a45a8ff 57 AREA RESET, DATA, READONLY, ALIGN=8
bogdanm 0:9b334a45a8ff 58 EXPORT __Vectors
bogdanm 0:9b334a45a8ff 59 EXPORT __Vectors_End
bogdanm 0:9b334a45a8ff 60 EXPORT __Vectors_Size
bogdanm 0:9b334a45a8ff 61
bogdanm 0:9b334a45a8ff 62 __Vectors DCD __initial_sp ; Top of Stack
bogdanm 0:9b334a45a8ff 63 DCD Reset_Handler ; Reset Handler
bogdanm 0:9b334a45a8ff 64 DCD NMI_Handler ; NMI Handler
bogdanm 0:9b334a45a8ff 65 DCD HardFault_Handler ; Hard Fault Handler
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 0 ; Reserved
bogdanm 0:9b334a45a8ff 71 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 72 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 73 DCD SVC_Handler ; SVCall Handler
bogdanm 0:9b334a45a8ff 74 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 75 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 76 DCD PendSV_Handler ; PendSV Handler
bogdanm 0:9b334a45a8ff 77 DCD SysTick_Handler ; SysTick Handler
bogdanm 0:9b334a45a8ff 78
bogdanm 0:9b334a45a8ff 79 ; External Interrupts
bogdanm 0:9b334a45a8ff 80
bogdanm 0:9b334a45a8ff 81 DCD DMA_IRQHandler ; 0: DMA Interrupt
bogdanm 0:9b334a45a8ff 82 DCD GPIO_EVEN_IRQHandler ; 1: GPIO_EVEN Interrupt
bogdanm 0:9b334a45a8ff 83 DCD TIMER0_IRQHandler ; 2: TIMER0 Interrupt
bogdanm 0:9b334a45a8ff 84 DCD ACMP0_IRQHandler ; 3: ACMP0 Interrupt
bogdanm 0:9b334a45a8ff 85 DCD ADC0_IRQHandler ; 4: ADC0 Interrupt
bogdanm 0:9b334a45a8ff 86 DCD I2C0_IRQHandler ; 5: I2C0 Interrupt
bogdanm 0:9b334a45a8ff 87 DCD GPIO_ODD_IRQHandler ; 6: GPIO_ODD Interrupt
bogdanm 0:9b334a45a8ff 88 DCD TIMER1_IRQHandler ; 7: TIMER1 Interrupt
bogdanm 0:9b334a45a8ff 89 DCD USART1_RX_IRQHandler ; 8: USART1_RX Interrupt
bogdanm 0:9b334a45a8ff 90 DCD USART1_TX_IRQHandler ; 9: USART1_TX Interrupt
bogdanm 0:9b334a45a8ff 91 DCD LEUART0_IRQHandler ; 10: LEUART0 Interrupt
bogdanm 0:9b334a45a8ff 92 DCD PCNT0_IRQHandler ; 11: PCNT0 Interrupt
bogdanm 0:9b334a45a8ff 93 DCD RTC_IRQHandler ; 12: RTC Interrupt
bogdanm 0:9b334a45a8ff 94 DCD CMU_IRQHandler ; 13: CMU Interrupt
bogdanm 0:9b334a45a8ff 95 DCD VCMP_IRQHandler ; 14: VCMP Interrupt
bogdanm 0:9b334a45a8ff 96 DCD MSC_IRQHandler ; 15: MSC Interrupt
bogdanm 0:9b334a45a8ff 97 DCD AES_IRQHandler ; 16: AES Interrupt
bogdanm 0:9b334a45a8ff 98
bogdanm 0:9b334a45a8ff 99 __Vectors_End
bogdanm 0:9b334a45a8ff 100 __Vectors_Size EQU __Vectors_End - __Vectors
bogdanm 0:9b334a45a8ff 101
bogdanm 0:9b334a45a8ff 102 AREA |.text|, CODE, READONLY
bogdanm 0:9b334a45a8ff 103
bogdanm 0:9b334a45a8ff 104
bogdanm 0:9b334a45a8ff 105 ; Reset Handler
bogdanm 0:9b334a45a8ff 106
bogdanm 0:9b334a45a8ff 107 Reset_Handler PROC
bogdanm 0:9b334a45a8ff 108 EXPORT Reset_Handler [WEAK]
bogdanm 0:9b334a45a8ff 109 IMPORT SystemInit
bogdanm 0:9b334a45a8ff 110 IMPORT __main
bogdanm 0:9b334a45a8ff 111 LDR R0, =SystemInit
bogdanm 0:9b334a45a8ff 112 BLX R0
bogdanm 0:9b334a45a8ff 113 LDR R0, =__main
bogdanm 0:9b334a45a8ff 114 BX R0
bogdanm 0:9b334a45a8ff 115 ENDP
bogdanm 0:9b334a45a8ff 116
bogdanm 0:9b334a45a8ff 117
bogdanm 0:9b334a45a8ff 118 ; Dummy Exception Handlers (infinite loops which can be modified)
bogdanm 0:9b334a45a8ff 119
bogdanm 0:9b334a45a8ff 120 NMI_Handler PROC
bogdanm 0:9b334a45a8ff 121 EXPORT NMI_Handler [WEAK]
bogdanm 0:9b334a45a8ff 122 B .
bogdanm 0:9b334a45a8ff 123 ENDP
bogdanm 0:9b334a45a8ff 124 HardFault_Handler\
bogdanm 0:9b334a45a8ff 125 PROC
bogdanm 0:9b334a45a8ff 126 EXPORT HardFault_Handler [WEAK]
bogdanm 0:9b334a45a8ff 127 B .
bogdanm 0:9b334a45a8ff 128 ENDP
bogdanm 0:9b334a45a8ff 129 SVC_Handler PROC
bogdanm 0:9b334a45a8ff 130 EXPORT SVC_Handler [WEAK]
bogdanm 0:9b334a45a8ff 131 B .
bogdanm 0:9b334a45a8ff 132 ENDP
bogdanm 0:9b334a45a8ff 133 PendSV_Handler PROC
bogdanm 0:9b334a45a8ff 134 EXPORT PendSV_Handler [WEAK]
bogdanm 0:9b334a45a8ff 135 B .
bogdanm 0:9b334a45a8ff 136 ENDP
bogdanm 0:9b334a45a8ff 137 SysTick_Handler PROC
bogdanm 0:9b334a45a8ff 138 EXPORT SysTick_Handler [WEAK]
bogdanm 0:9b334a45a8ff 139 B .
bogdanm 0:9b334a45a8ff 140 ENDP
bogdanm 0:9b334a45a8ff 141
bogdanm 0:9b334a45a8ff 142 Default_Handler PROC
bogdanm 0:9b334a45a8ff 143 EXPORT DMA_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 144 EXPORT GPIO_EVEN_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 145 EXPORT TIMER0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 146 EXPORT ACMP0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 147 EXPORT ADC0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 148 EXPORT I2C0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 149 EXPORT GPIO_ODD_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 150 EXPORT TIMER1_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 151 EXPORT USART1_RX_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 152 EXPORT USART1_TX_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 153 EXPORT LEUART0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 154 EXPORT PCNT0_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 155 EXPORT RTC_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 156 EXPORT CMU_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 157 EXPORT VCMP_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 158 EXPORT MSC_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 159 EXPORT AES_IRQHandler [WEAK]
bogdanm 0:9b334a45a8ff 160
bogdanm 0:9b334a45a8ff 161
bogdanm 0:9b334a45a8ff 162 DMA_IRQHandler
bogdanm 0:9b334a45a8ff 163 GPIO_EVEN_IRQHandler
bogdanm 0:9b334a45a8ff 164 TIMER0_IRQHandler
bogdanm 0:9b334a45a8ff 165 ACMP0_IRQHandler
bogdanm 0:9b334a45a8ff 166 ADC0_IRQHandler
bogdanm 0:9b334a45a8ff 167 I2C0_IRQHandler
bogdanm 0:9b334a45a8ff 168 GPIO_ODD_IRQHandler
bogdanm 0:9b334a45a8ff 169 TIMER1_IRQHandler
bogdanm 0:9b334a45a8ff 170 USART1_RX_IRQHandler
bogdanm 0:9b334a45a8ff 171 USART1_TX_IRQHandler
bogdanm 0:9b334a45a8ff 172 LEUART0_IRQHandler
bogdanm 0:9b334a45a8ff 173 PCNT0_IRQHandler
bogdanm 0:9b334a45a8ff 174 RTC_IRQHandler
bogdanm 0:9b334a45a8ff 175 CMU_IRQHandler
bogdanm 0:9b334a45a8ff 176 VCMP_IRQHandler
bogdanm 0:9b334a45a8ff 177 MSC_IRQHandler
bogdanm 0:9b334a45a8ff 178 AES_IRQHandler
bogdanm 0:9b334a45a8ff 179
bogdanm 0:9b334a45a8ff 180
bogdanm 0:9b334a45a8ff 181 B .
bogdanm 0:9b334a45a8ff 182
bogdanm 0:9b334a45a8ff 183 ENDP
bogdanm 0:9b334a45a8ff 184
bogdanm 0:9b334a45a8ff 185 ALIGN
bogdanm 0:9b334a45a8ff 186
bogdanm 0:9b334a45a8ff 187 ; User Initial Stack & Heap
bogdanm 0:9b334a45a8ff 188
bogdanm 0:9b334a45a8ff 189 EXPORT __initial_sp
bogdanm 0:9b334a45a8ff 190 EXPORT __heap_base
bogdanm 0:9b334a45a8ff 191 EXPORT __heap_limit
bogdanm 0:9b334a45a8ff 192
bogdanm 0:9b334a45a8ff 193 END