Toyomasa Watarai / mbed-dev

Fork of mbed-dev by mbed official

Committer:
bogdanm
Date:
Thu Oct 01 15:25:22 2015 +0300
Revision:
0:9b334a45a8ff
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 *
bogdanm 0:9b334a45a8ff 3 * Part one of the system initialization code, contains low-level
bogdanm 0:9b334a45a8ff 4 * initialization, plain thumb variant.
bogdanm 0:9b334a45a8ff 5 *
bogdanm 0:9b334a45a8ff 6 * Copyright 2012 IAR Systems. All rights reserved.
bogdanm 0:9b334a45a8ff 7 *
bogdanm 0:9b334a45a8ff 8 * $Revision: 1106 $
bogdanm 0:9b334a45a8ff 9 *
bogdanm 0:9b334a45a8ff 10 **************************************************/
bogdanm 0:9b334a45a8ff 11
bogdanm 0:9b334a45a8ff 12 ;
bogdanm 0:9b334a45a8ff 13 ; The modules in this file are included in the libraries, and may be replaced
bogdanm 0:9b334a45a8ff 14 ; by any user-defined modules that define the PUBLIC symbol _program_start or
bogdanm 0:9b334a45a8ff 15 ; a user defined start symbol.
bogdanm 0:9b334a45a8ff 16 ; To override the cstartup defined in the library, simply add your modified
bogdanm 0:9b334a45a8ff 17 ; version to the workbench project.
bogdanm 0:9b334a45a8ff 18 ;
bogdanm 0:9b334a45a8ff 19 ; The vector table is normally located at address 0.
bogdanm 0:9b334a45a8ff 20 ; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
bogdanm 0:9b334a45a8ff 21 ; The name "__vector_table" has special meaning for C-SPY:
bogdanm 0:9b334a45a8ff 22 ; it is where the SP start value is found, and the NVIC vector
bogdanm 0:9b334a45a8ff 23 ; table register (VTOR) is initialized to this address if != 0.
bogdanm 0:9b334a45a8ff 24 ;
bogdanm 0:9b334a45a8ff 25 ; Cortex-M version
bogdanm 0:9b334a45a8ff 26 ;
bogdanm 0:9b334a45a8ff 27
bogdanm 0:9b334a45a8ff 28 MODULE ?cstartup
bogdanm 0:9b334a45a8ff 29
bogdanm 0:9b334a45a8ff 30 ;; Forward declaration of sections.
bogdanm 0:9b334a45a8ff 31 SECTION CSTACK:DATA:NOROOT(3)
bogdanm 0:9b334a45a8ff 32
bogdanm 0:9b334a45a8ff 33 SECTION .intvec:CODE:NOROOT(2)
bogdanm 0:9b334a45a8ff 34
bogdanm 0:9b334a45a8ff 35 EXTERN __iar_program_start
bogdanm 0:9b334a45a8ff 36 EXTERN SystemInit
bogdanm 0:9b334a45a8ff 37 PUBLIC __vector_table
bogdanm 0:9b334a45a8ff 38 PUBLIC __vector_table_0x1c
bogdanm 0:9b334a45a8ff 39
bogdanm 0:9b334a45a8ff 40 DATA
bogdanm 0:9b334a45a8ff 41 __vector_table
bogdanm 0:9b334a45a8ff 42 DCD sfe(CSTACK) ; Top of Stack
bogdanm 0:9b334a45a8ff 43 DCD Reset_Handler ; Reset Handler
bogdanm 0:9b334a45a8ff 44 DCD NMI_Handler ; NMI Handler
bogdanm 0:9b334a45a8ff 45 DCD HardFault_Handler ; Hard Fault Handler
bogdanm 0:9b334a45a8ff 46 DCD MemManage_Handler ; MPU Fault Handler
bogdanm 0:9b334a45a8ff 47 DCD BusFault_Handler ; Bus Fault Handler
bogdanm 0:9b334a45a8ff 48 DCD UsageFault_Handler ; Usage Fault Handler
bogdanm 0:9b334a45a8ff 49 __vector_table_0x1c
bogdanm 0:9b334a45a8ff 50 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 51 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 52 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 53 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 54 DCD SVC_Handler ; SVCall Handler
bogdanm 0:9b334a45a8ff 55 DCD DebugMon_Handler ; Debug Monitor Handler
bogdanm 0:9b334a45a8ff 56 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 57 DCD PendSV_Handler ; PendSV Handler
bogdanm 0:9b334a45a8ff 58 DCD SysTick_Handler ; SysTick Handler
bogdanm 0:9b334a45a8ff 59 DCD FLEX_INT0_IRQHandler ; GPIO pin interrupt 0
bogdanm 0:9b334a45a8ff 60 DCD FLEX_INT1_IRQHandler ; GPIO pin interrupt 1
bogdanm 0:9b334a45a8ff 61 DCD FLEX_INT2_IRQHandler ; GPIO pin interrupt 2
bogdanm 0:9b334a45a8ff 62 DCD FLEX_INT3_IRQHandler ; GPIO pin interrupt 3
bogdanm 0:9b334a45a8ff 63 DCD FLEX_INT4_IRQHandler ; GPIO pin interrupt 4
bogdanm 0:9b334a45a8ff 64 DCD FLEX_INT5_IRQHandler ; GPIO pin interrupt 5
bogdanm 0:9b334a45a8ff 65 DCD FLEX_INT6_IRQHandler ; GPIO pin interrupt 6
bogdanm 0:9b334a45a8ff 66 DCD FLEX_INT7_IRQHandler ; GPIO pin interrupt 7
bogdanm 0:9b334a45a8ff 67 DCD GINT0_IRQHandler ; GPIO GROUP0 interrupt
bogdanm 0:9b334a45a8ff 68 DCD GINT1_IRQHandler ; GPIO GROUP1 interrupt
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 SSP1_IRQHandler ; SSP1 interrupt
bogdanm 0:9b334a45a8ff 74 DCD I2C_IRQHandler ; I2C interrupt
bogdanm 0:9b334a45a8ff 75 DCD CT16B0_IRQHandler ; CT16B0 Match 0-3, Capture 0
bogdanm 0:9b334a45a8ff 76 DCD CT16B1_IRQHandler ; CT16B1 Match 0-3, Capture 0
bogdanm 0:9b334a45a8ff 77 DCD CT32B0_IRQHandler ; CT32B0 Match 0-3, Capture 0
bogdanm 0:9b334a45a8ff 78 DCD CT32B1_IRQHandler ; CT32B1 Match 0-3, Capture 0
bogdanm 0:9b334a45a8ff 79 DCD SSP0_IRQHandler ; SSP0 interrupt
bogdanm 0:9b334a45a8ff 80 DCD USART_IRQHandler ; USART interrupt
bogdanm 0:9b334a45a8ff 81 DCD USB_IRQHandler ; USB_IRQ interrupt
bogdanm 0:9b334a45a8ff 82 DCD USB_FIQHandler ; USB_FIQ interrupt
bogdanm 0:9b334a45a8ff 83 DCD ADC_IRQHandler ; ADC interrupt
bogdanm 0:9b334a45a8ff 84 DCD WWDT_IRQHandler ; WWDT interrupt
bogdanm 0:9b334a45a8ff 85 DCD BOD_IRQHandler ; BOD interrupt
bogdanm 0:9b334a45a8ff 86 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 87 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 88 DCD 0 ; Reserved
bogdanm 0:9b334a45a8ff 89 DCD USBWakeup_IRQHandler ; USB_WAKEUP interrupt
bogdanm 0:9b334a45a8ff 90
bogdanm 0:9b334a45a8ff 91 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
bogdanm 0:9b334a45a8ff 92 ;;
bogdanm 0:9b334a45a8ff 93 ;; Default interrupt handlers.
bogdanm 0:9b334a45a8ff 94 ;;
bogdanm 0:9b334a45a8ff 95 THUMB
bogdanm 0:9b334a45a8ff 96 PUBWEAK Reset_Handler
bogdanm 0:9b334a45a8ff 97 SECTION .text:CODE:NOROOT:REORDER(2)
bogdanm 0:9b334a45a8ff 98 Reset_Handler
bogdanm 0:9b334a45a8ff 99
bogdanm 0:9b334a45a8ff 100 LDR R0, =SystemInit
bogdanm 0:9b334a45a8ff 101 BLX R0
bogdanm 0:9b334a45a8ff 102 LDR R0, =__iar_program_start
bogdanm 0:9b334a45a8ff 103 BX R0
bogdanm 0:9b334a45a8ff 104
bogdanm 0:9b334a45a8ff 105 PUBWEAK NMI_Handler
bogdanm 0:9b334a45a8ff 106 PUBWEAK HardFault_Handler
bogdanm 0:9b334a45a8ff 107 PUBWEAK MemManage_Handler
bogdanm 0:9b334a45a8ff 108 PUBWEAK BusFault_Handler
bogdanm 0:9b334a45a8ff 109 PUBWEAK UsageFault_Handler
bogdanm 0:9b334a45a8ff 110 PUBWEAK SVC_Handler
bogdanm 0:9b334a45a8ff 111 PUBWEAK DebugMon_Handler
bogdanm 0:9b334a45a8ff 112 PUBWEAK PendSV_Handler
bogdanm 0:9b334a45a8ff 113 PUBWEAK SysTick_Handler
bogdanm 0:9b334a45a8ff 114 PUBWEAK FLEX_INT0_IRQHandler
bogdanm 0:9b334a45a8ff 115 PUBWEAK FLEX_INT1_IRQHandler
bogdanm 0:9b334a45a8ff 116 PUBWEAK FLEX_INT2_IRQHandler
bogdanm 0:9b334a45a8ff 117 PUBWEAK FLEX_INT3_IRQHandler
bogdanm 0:9b334a45a8ff 118 PUBWEAK FLEX_INT4_IRQHandler
bogdanm 0:9b334a45a8ff 119 PUBWEAK FLEX_INT5_IRQHandler
bogdanm 0:9b334a45a8ff 120 PUBWEAK FLEX_INT6_IRQHandler
bogdanm 0:9b334a45a8ff 121 PUBWEAK FLEX_INT7_IRQHandler
bogdanm 0:9b334a45a8ff 122 PUBWEAK GINT0_IRQHandler
bogdanm 0:9b334a45a8ff 123 PUBWEAK GINT1_IRQHandler
bogdanm 0:9b334a45a8ff 124 PUBWEAK SSP1_IRQHandler
bogdanm 0:9b334a45a8ff 125 PUBWEAK I2C_IRQHandler
bogdanm 0:9b334a45a8ff 126 PUBWEAK CT16B0_IRQHandler
bogdanm 0:9b334a45a8ff 127 PUBWEAK CT16B1_IRQHandler
bogdanm 0:9b334a45a8ff 128 PUBWEAK CT32B0_IRQHandler
bogdanm 0:9b334a45a8ff 129 PUBWEAK CT32B1_IRQHandler
bogdanm 0:9b334a45a8ff 130 PUBWEAK SSP0_IRQHandler
bogdanm 0:9b334a45a8ff 131 PUBWEAK USART_IRQHandler
bogdanm 0:9b334a45a8ff 132 PUBWEAK USB_IRQHandler
bogdanm 0:9b334a45a8ff 133 PUBWEAK USB_FIQHandler
bogdanm 0:9b334a45a8ff 134 PUBWEAK ADC_IRQHandler
bogdanm 0:9b334a45a8ff 135 PUBWEAK WWDT_IRQHandler
bogdanm 0:9b334a45a8ff 136 PUBWEAK BOD_IRQHandler
bogdanm 0:9b334a45a8ff 137 PUBWEAK USBWakeup_IRQHandler
bogdanm 0:9b334a45a8ff 138
bogdanm 0:9b334a45a8ff 139 SECTION .text:CODE:REORDER:NOROOT(1)
bogdanm 0:9b334a45a8ff 140 THUMB
bogdanm 0:9b334a45a8ff 141
bogdanm 0:9b334a45a8ff 142 NMI_Handler
bogdanm 0:9b334a45a8ff 143 HardFault_Handler
bogdanm 0:9b334a45a8ff 144 MemManage_Handler
bogdanm 0:9b334a45a8ff 145 BusFault_Handler
bogdanm 0:9b334a45a8ff 146 UsageFault_Handler
bogdanm 0:9b334a45a8ff 147 SVC_Handler
bogdanm 0:9b334a45a8ff 148 DebugMon_Handler
bogdanm 0:9b334a45a8ff 149 PendSV_Handler
bogdanm 0:9b334a45a8ff 150 SysTick_Handler
bogdanm 0:9b334a45a8ff 151 FLEX_INT0_IRQHandler
bogdanm 0:9b334a45a8ff 152 FLEX_INT1_IRQHandler
bogdanm 0:9b334a45a8ff 153 FLEX_INT2_IRQHandler
bogdanm 0:9b334a45a8ff 154 FLEX_INT3_IRQHandler
bogdanm 0:9b334a45a8ff 155 FLEX_INT4_IRQHandler
bogdanm 0:9b334a45a8ff 156 FLEX_INT5_IRQHandler
bogdanm 0:9b334a45a8ff 157 FLEX_INT6_IRQHandler
bogdanm 0:9b334a45a8ff 158 FLEX_INT7_IRQHandler
bogdanm 0:9b334a45a8ff 159 GINT0_IRQHandler
bogdanm 0:9b334a45a8ff 160 GINT1_IRQHandler
bogdanm 0:9b334a45a8ff 161 SSP1_IRQHandler
bogdanm 0:9b334a45a8ff 162 I2C_IRQHandler
bogdanm 0:9b334a45a8ff 163 CT16B0_IRQHandler
bogdanm 0:9b334a45a8ff 164 CT16B1_IRQHandler
bogdanm 0:9b334a45a8ff 165 CT32B0_IRQHandler
bogdanm 0:9b334a45a8ff 166 CT32B1_IRQHandler
bogdanm 0:9b334a45a8ff 167 SSP0_IRQHandler
bogdanm 0:9b334a45a8ff 168 USART_IRQHandler
bogdanm 0:9b334a45a8ff 169 USB_IRQHandler
bogdanm 0:9b334a45a8ff 170 USB_FIQHandler
bogdanm 0:9b334a45a8ff 171 ADC_IRQHandler
bogdanm 0:9b334a45a8ff 172 WWDT_IRQHandler
bogdanm 0:9b334a45a8ff 173 BOD_IRQHandler
bogdanm 0:9b334a45a8ff 174 USBWakeup_IRQHandler
bogdanm 0:9b334a45a8ff 175 Default_Handler
bogdanm 0:9b334a45a8ff 176 B Default_Handler
bogdanm 0:9b334a45a8ff 177
bogdanm 0:9b334a45a8ff 178 END