1;/*! 2; * @file startup_apm32s10x_md.s 3; * 4; * @brief CMSIS Cortex-M3 based Core Device Startup File for Device APM32S103 5; * 6; * @version V1.0.0 7; * 8; * @date 2022-12-31 9; * 10; * @attention 11; * 12; * Copyright (C) 2022-2023 Geehy Semiconductor 13; * 14; * You may not use this file except in compliance with the 15; * GEEHY COPYRIGHT NOTICE (GEEHY SOFTWARE PACKAGE LICENSE). 16; * 17; * The program is only for reference, which is distributed in the hope 18; * that it will be usefull and instructional for customers to develop 19; * their software. Unless required by applicable law or agreed to in 20; * writing, the program is distributed on an "AS IS" BASIS, WITHOUT 21; * ANY WARRANTY OR CONDITIONS OF ANY KIND, either express or implied. 22; * See the GEEHY SOFTWARE PACKAGE LICENSE for the governing permissions 23; * and limitations under the License. 24; */ 25 26 MODULE ?cstartup 27 28 ;; Forward declaration of sections. 29 SECTION CSTACK:DATA:NOROOT(3) 30 31 SECTION .intvec:CODE:NOROOT(2) 32 33 34 EXTERN __iar_program_start 35 EXTERN SystemInit 36 PUBLIC __vector_table 37 38 DATA 39 40__vector_table 41 DCD sfe(CSTACK) 42 DCD Reset_Handler ; Reset Handler 43 DCD NMI_Handler ; NMI Handler 44 DCD HardFault_Handler ; Hard Fault Handler 45 DCD MemManage_Handler ; MPU Fault Handler 46 DCD BusFault_Handler ; Bus Fault Handler 47 DCD UsageFault_Handler ; Usage Fault Handler 48 DCD 0 ; Reserved 49 DCD 0 ; Reserved 50 DCD 0 ; Reserved 51 DCD 0 ; Reserved 52 DCD SVC_Handler ; SVCall Handler 53 DCD DebugMon_Handler ; Debug Monitor Handler 54 DCD 0 ; Reserved 55 DCD PendSV_Handler ; PendSV Handler 56 DCD SysTick_Handler ; SysTick Handler 57 58 ; External Interrupts 59 DCD WWDT_IRQHandler ; Window Watchdog 60 DCD PVD_IRQHandler ; PVD through EINT Line detect 61 DCD TAMPER_IRQHandler ; Tamper 62 DCD RTC_IRQHandler ; RTC 63 DCD FLASH_IRQHandler ; Flash 64 DCD RCM_IRQHandler ; RCM 65 DCD EINT0_IRQHandler ; EINT Line 0 66 DCD EINT1_IRQHandler ; EINT Line 1 67 DCD EINT2_IRQHandler ; EINT Line 2 68 DCD EINT3_IRQHandler ; EINT Line 3 69 DCD EINT4_IRQHandler ; EINT Line 4 70 DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 71 DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 72 DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 73 DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 74 DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 75 DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 76 DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 77 DCD ADC1_2_IRQHandler ; ADC1 & ADC2 78 DCD USBD1_HP_CAN1_TX_IRQHandler ; USBD1 High Priority or CAN1 TX 79 DCD USBD1_LP_CAN1_RX0_IRQHandler ; USBD1 Low Priority or CAN1 RX0 80 DCD CAN1_RX1_IRQHandler ; CAN1 RX1 81 DCD CAN1_SCE_IRQHandler ; CAN1 SCE 82 DCD EINT9_5_IRQHandler ; EINT Line 9..5 83 DCD TMR1_BRK_IRQHandler ; TMR1 Break 84 DCD TMR1_UP_IRQHandler ; TMR1 Update 85 DCD TMR1_TRG_COM_IRQHandler ; TMR1 Trigger and Commutation 86 DCD TMR1_CC_IRQHandler ; TMR1 Capture Compare 87 DCD TMR2_IRQHandler ; TMR2 88 DCD TMR3_IRQHandler ; TMR3 89 DCD TMR4_IRQHandler ; TMR4 90 DCD I2C1_EV_IRQHandler ; I2C1 Event 91 DCD I2C1_ER_IRQHandler ; I2C1 Error 92 DCD I2C2_EV_IRQHandler ; I2C2 Event 93 DCD I2C2_ER_IRQHandler ; I2C2 Error 94 DCD SPI1_IRQHandler ; SPI1 95 DCD SPI2_IRQHandler ; SPI2 96 DCD USART1_IRQHandler ; USART1 97 DCD USART2_IRQHandler ; USART2 98 DCD USART3_IRQHandler ; USART3 99 DCD EINT15_10_IRQHandler ; EINT Line 15..10 100 DCD RTCAlarm_IRQHandler ; RTC Alarm through EINT Line 101 DCD USBDWakeUp_IRQHandler ; USBD Wakeup from suspend 102 DCD FPU_IRQHandler ; FPU 103 DCD QSPI_IRQHandler ; QSPI 104 DCD USBD2_HP_CAN2_TX_IRQHandler ; USBD2 High Priority or CAN2 TX 105 DCD USBD2_LP_CAN2_RX0_IRQHandler ; USBD2 Low Priority or CAN2 RX0 106 DCD CAN2_RX1_IRQHandler ; CAN2 RX1 107 DCD CAN2_SCE_IRQHandler ; CAN2 SCE 108__Vectors_End 109 110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 111;; 112;; Default interrupt handlers. 113;; 114 THUMB 115 116 PUBWEAK Reset_Handler 117 SECTION .text:CODE:REORDER:NOROOT(2) 118Reset_Handler 119 LDR R0, =SystemInit 120 BLX R0 121 LDR R0, =__iar_program_start 122 BX R0 123 124 PUBWEAK NMI_Handler 125 SECTION .text:CODE:REORDER:NOROOT(1) 126NMI_Handler 127 B NMI_Handler 128 129 PUBWEAK HardFault_Handler 130 SECTION .text:CODE:REORDER:NOROOT(1) 131HardFault_Handler 132 B HardFault_Handler 133 134 PUBWEAK MemManage_Handler 135 SECTION .text:CODE:REORDER:NOROOT(1) 136MemManage_Handler 137 B MemManage_Handler 138 139 PUBWEAK BusFault_Handler 140 SECTION .text:CODE:REORDER:NOROOT(1) 141BusFault_Handler 142 B BusFault_Handler 143 144 PUBWEAK UsageFault_Handler 145 SECTION .text:CODE:REORDER:NOROOT(1) 146UsageFault_Handler 147 B UsageFault_Handler 148 149 PUBWEAK SVC_Handler 150 SECTION .text:CODE:REORDER:NOROOT(1) 151SVC_Handler 152 B SVC_Handler 153 154 PUBWEAK DebugMon_Handler 155 SECTION .text:CODE:REORDER:NOROOT(1) 156DebugMon_Handler 157 B DebugMon_Handler 158 159 PUBWEAK PendSV_Handler 160 SECTION .text:CODE:REORDER:NOROOT(1) 161PendSV_Handler 162 B PendSV_Handler 163 164 PUBWEAK SysTick_Handler 165 SECTION .text:CODE:REORDER:NOROOT(1) 166SysTick_Handler 167 B SysTick_Handler 168 169 PUBWEAK WWDT_IRQHandler 170 SECTION .text:CODE:REORDER:NOROOT(1) 171WWDT_IRQHandler 172 B WWDT_IRQHandler 173 174 PUBWEAK PVD_IRQHandler 175 SECTION .text:CODE:REORDER:NOROOT(1) 176PVD_IRQHandler 177 B PVD_IRQHandler 178 179 PUBWEAK TAMPER_IRQHandler 180 SECTION .text:CODE:REORDER:NOROOT(1) 181TAMPER_IRQHandler 182 B TAMPER_IRQHandler 183 184 PUBWEAK RTC_IRQHandler 185 SECTION .text:CODE:REORDER:NOROOT(1) 186RTC_IRQHandler 187 B RTC_IRQHandler 188 189 PUBWEAK FLASH_IRQHandler 190 SECTION .text:CODE:REORDER:NOROOT(1) 191FLASH_IRQHandler 192 B FLASH_IRQHandler 193 194 PUBWEAK RCM_IRQHandler 195 SECTION .text:CODE:REORDER:NOROOT(1) 196RCM_IRQHandler 197 B RCM_IRQHandler 198 199 PUBWEAK EINT0_IRQHandler 200 SECTION .text:CODE:REORDER:NOROOT(1) 201EINT0_IRQHandler 202 B EINT0_IRQHandler 203 204 PUBWEAK EINT1_IRQHandler 205 SECTION .text:CODE:REORDER:NOROOT(1) 206EINT1_IRQHandler 207 B EINT1_IRQHandler 208 209 PUBWEAK EINT2_IRQHandler 210 SECTION .text:CODE:REORDER:NOROOT(1) 211EINT2_IRQHandler 212 B EINT2_IRQHandler 213 214 PUBWEAK EINT3_IRQHandler 215 SECTION .text:CODE:REORDER:NOROOT(1) 216EINT3_IRQHandler 217 B EINT3_IRQHandler 218 219 PUBWEAK EINT4_IRQHandler 220 SECTION .text:CODE:REORDER:NOROOT(1) 221EINT4_IRQHandler 222 B EINT4_IRQHandler 223 224 PUBWEAK DMA1_Channel1_IRQHandler 225 SECTION .text:CODE:REORDER:NOROOT(1) 226DMA1_Channel1_IRQHandler 227 B DMA1_Channel1_IRQHandler 228 229 PUBWEAK DMA1_Channel2_IRQHandler 230 SECTION .text:CODE:REORDER:NOROOT(1) 231DMA1_Channel2_IRQHandler 232 B DMA1_Channel2_IRQHandler 233 234 PUBWEAK DMA1_Channel3_IRQHandler 235 SECTION .text:CODE:REORDER:NOROOT(1) 236DMA1_Channel3_IRQHandler 237 B DMA1_Channel3_IRQHandler 238 239 PUBWEAK DMA1_Channel4_IRQHandler 240 SECTION .text:CODE:REORDER:NOROOT(1) 241DMA1_Channel4_IRQHandler 242 B DMA1_Channel4_IRQHandler 243 244 PUBWEAK DMA1_Channel5_IRQHandler 245 SECTION .text:CODE:REORDER:NOROOT(1) 246DMA1_Channel5_IRQHandler 247 B DMA1_Channel5_IRQHandler 248 249 PUBWEAK DMA1_Channel6_IRQHandler 250 SECTION .text:CODE:REORDER:NOROOT(1) 251DMA1_Channel6_IRQHandler 252 B DMA1_Channel6_IRQHandler 253 254 PUBWEAK DMA1_Channel7_IRQHandler 255 SECTION .text:CODE:REORDER:NOROOT(1) 256DMA1_Channel7_IRQHandler 257 B DMA1_Channel7_IRQHandler 258 259 PUBWEAK ADC1_2_IRQHandler 260 SECTION .text:CODE:REORDER:NOROOT(1) 261ADC1_2_IRQHandler 262 B ADC1_2_IRQHandler 263 264 PUBWEAK USBD1_HP_CAN1_TX_IRQHandler 265 SECTION .text:CODE:REORDER:NOROOT(1) 266USBD1_HP_CAN1_TX_IRQHandler 267 B USBD1_HP_CAN1_TX_IRQHandler 268 269 PUBWEAK USBD1_LP_CAN1_RX0_IRQHandler 270 SECTION .text:CODE:REORDER:NOROOT(1) 271USBD1_LP_CAN1_RX0_IRQHandler 272 B USBD1_LP_CAN1_RX0_IRQHandler 273 274 PUBWEAK CAN1_RX1_IRQHandler 275 SECTION .text:CODE:REORDER:NOROOT(1) 276CAN1_RX1_IRQHandler 277 B CAN1_RX1_IRQHandler 278 279 PUBWEAK CAN1_SCE_IRQHandler 280 SECTION .text:CODE:REORDER:NOROOT(1) 281CAN1_SCE_IRQHandler 282 B CAN1_SCE_IRQHandler 283 284 PUBWEAK EINT9_5_IRQHandler 285 SECTION .text:CODE:REORDER:NOROOT(1) 286EINT9_5_IRQHandler 287 B EINT9_5_IRQHandler 288 289 PUBWEAK TMR1_BRK_IRQHandler 290 SECTION .text:CODE:REORDER:NOROOT(1) 291TMR1_BRK_IRQHandler 292 B TMR1_BRK_IRQHandler 293 294 PUBWEAK TMR1_UP_IRQHandler 295 SECTION .text:CODE:REORDER:NOROOT(1) 296TMR1_UP_IRQHandler 297 B TMR1_UP_IRQHandler 298 299 PUBWEAK TMR1_TRG_COM_IRQHandler 300 SECTION .text:CODE:REORDER:NOROOT(1) 301TMR1_TRG_COM_IRQHandler 302 B TMR1_TRG_COM_IRQHandler 303 304 PUBWEAK TMR1_CC_IRQHandler 305 SECTION .text:CODE:REORDER:NOROOT(1) 306TMR1_CC_IRQHandler 307 B TMR1_CC_IRQHandler 308 309 PUBWEAK TMR2_IRQHandler 310 SECTION .text:CODE:REORDER:NOROOT(1) 311TMR2_IRQHandler 312 B TMR2_IRQHandler 313 314 PUBWEAK TMR3_IRQHandler 315 SECTION .text:CODE:REORDER:NOROOT(1) 316TMR3_IRQHandler 317 B TMR3_IRQHandler 318 319 PUBWEAK TMR4_IRQHandler 320 SECTION .text:CODE:REORDER:NOROOT(1) 321TMR4_IRQHandler 322 B TMR4_IRQHandler 323 324 PUBWEAK I2C1_EV_IRQHandler 325 SECTION .text:CODE:REORDER:NOROOT(1) 326I2C1_EV_IRQHandler 327 B I2C1_EV_IRQHandler 328 329 PUBWEAK I2C1_ER_IRQHandler 330 SECTION .text:CODE:REORDER:NOROOT(1) 331I2C1_ER_IRQHandler 332 B I2C1_ER_IRQHandler 333 334 PUBWEAK I2C2_EV_IRQHandler 335 SECTION .text:CODE:REORDER:NOROOT(1) 336I2C2_EV_IRQHandler 337 B I2C2_EV_IRQHandler 338 339 PUBWEAK I2C2_ER_IRQHandler 340 SECTION .text:CODE:REORDER:NOROOT(1) 341I2C2_ER_IRQHandler 342 B I2C2_ER_IRQHandler 343 344 PUBWEAK SPI1_IRQHandler 345 SECTION .text:CODE:REORDER:NOROOT(1) 346SPI1_IRQHandler 347 B SPI1_IRQHandler 348 349 PUBWEAK SPI2_IRQHandler 350 SECTION .text:CODE:REORDER:NOROOT(1) 351SPI2_IRQHandler 352 B SPI2_IRQHandler 353 354 PUBWEAK USART1_IRQHandler 355 SECTION .text:CODE:REORDER:NOROOT(1) 356USART1_IRQHandler 357 B USART1_IRQHandler 358 359 PUBWEAK USART2_IRQHandler 360 SECTION .text:CODE:REORDER:NOROOT(1) 361USART2_IRQHandler 362 B USART2_IRQHandler 363 364 PUBWEAK USART3_IRQHandler 365 SECTION .text:CODE:REORDER:NOROOT(1) 366USART3_IRQHandler 367 B USART3_IRQHandler 368 369 PUBWEAK EINT15_10_IRQHandler 370 SECTION .text:CODE:REORDER:NOROOT(1) 371EINT15_10_IRQHandler 372 B EINT15_10_IRQHandler 373 374 PUBWEAK RTCAlarm_IRQHandler 375 SECTION .text:CODE:REORDER:NOROOT(1) 376RTCAlarm_IRQHandler 377 B RTCAlarm_IRQHandler 378 379 PUBWEAK USBDWakeUp_IRQHandler 380 SECTION .text:CODE:REORDER:NOROOT(1) 381USBDWakeUp_IRQHandler 382 B USBDWakeUp_IRQHandler 383 384 PUBWEAK FPU_IRQHandler 385 SECTION .text:CODE:REORDER:NOROOT(1) 386FPU_IRQHandler 387 B FPU_IRQHandler 388 389 PUBWEAK QSPI_IRQHandler 390 SECTION .text:CODE:REORDER:NOROOT(1) 391QSPI_IRQHandler 392 B QSPI_IRQHandler 393 394 PUBWEAK USBD2_HP_CAN2_TX_IRQHandler 395 SECTION .text:CODE:REORDER:NOROOT(1) 396USBD2_HP_CAN2_TX_IRQHandler 397 B USBD2_HP_CAN2_TX_IRQHandler 398 399 PUBWEAK USBD2_LP_CAN2_RX0_IRQHandler 400 SECTION .text:CODE:REORDER:NOROOT(1) 401USBD2_LP_CAN2_RX0_IRQHandler 402 B USBD2_LP_CAN2_RX0_IRQHandler 403 404 PUBWEAK CAN2_RX1_IRQHandler 405 SECTION .text:CODE:REORDER:NOROOT(1) 406CAN2_RX1_IRQHandler 407 B CAN2_RX1_IRQHandler 408 409 PUBWEAK CAN2_SCE_IRQHandler 410 SECTION .text:CODE:REORDER:NOROOT(1) 411CAN2_SCE_IRQHandler 412 B CAN2_SCE_IRQHandler 413 414 END 415 416