1;/*! 2; * @file startup_apm32e10x_hd.s 3; * 4; * @brief CMSIS Cortex-M3 based Core Device Startup File for Device APM32E103 5; * 6; * @version V1.0.1 7; * 8; * @date 2022-07-29 9; * 10; * @attention 11; * 12; * Copyright (C) 2021-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 useful 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 TMR8_BRK_IRQHandler ; TMR8 Break 103 DCD TMR8_UP_IRQHandler ; TMR8 Update 104 DCD TMR8_TRG_COM_IRQHandler ; TMR8 Trigger and Commutation 105 DCD TMR8_CC_IRQHandler ; TMR8 Capture Compare 106 DCD ADC3_IRQHandler ; ADC3 107 DCD EMMC_IRQHandler ; EMMC 108 DCD SDIO_IRQHandler ; SDIO 109 DCD TMR5_IRQHandler ; TMR5 110 DCD SPI3_IRQHandler ; SPI3 111 DCD UART4_IRQHandler ; UART4 112 DCD UART5_IRQHandler ; UART5 113 DCD TMR6_IRQHandler ; TMR6 114 DCD TMR7_IRQHandler ; TMR7 115 DCD DMA2_Channel1_IRQHandler ; DMA2 Channel1 116 DCD DMA2_Channel2_IRQHandler ; DMA2 Channel2 117 DCD DMA2_Channel3_IRQHandler ; DMA2 Channel3 118 DCD DMA2_Channel4_5_IRQHandler ; DMA2 Channel4 & Channel5 119 DCD 0 ; Reserved 120 DCD USBD2_HP_CAN2_TX_IRQHandler ; USBD2 High Priority or CAN2 TX 121 DCD USBD2_LP_CAN2_RX0_IRQHandler ; USBD2 Low Priority or CAN2 RX0 122 DCD CAN2_RX1_IRQHandler ; CAN2 RX1 123 DCD CAN2_SCE_IRQHandler ; CAN2 SCE 124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 125;; 126;; Default interrupt handlers. 127;; 128 THUMB 129 130 PUBWEAK Reset_Handler 131 SECTION .text:CODE:REORDER:NOROOT(2) 132Reset_Handler 133 LDR R0, =SystemInit 134 BLX R0 135 LDR R0, =__iar_program_start 136 BX R0 137 138 PUBWEAK NMI_Handler 139 SECTION .text:CODE:REORDER:NOROOT(1) 140NMI_Handler 141 B NMI_Handler 142 143 PUBWEAK HardFault_Handler 144 SECTION .text:CODE:REORDER:NOROOT(1) 145HardFault_Handler 146 B HardFault_Handler 147 148 PUBWEAK MemManage_Handler 149 SECTION .text:CODE:REORDER:NOROOT(1) 150MemManage_Handler 151 B MemManage_Handler 152 153 PUBWEAK BusFault_Handler 154 SECTION .text:CODE:REORDER:NOROOT(1) 155BusFault_Handler 156 B BusFault_Handler 157 158 PUBWEAK UsageFault_Handler 159 SECTION .text:CODE:REORDER:NOROOT(1) 160UsageFault_Handler 161 B UsageFault_Handler 162 163 PUBWEAK SVC_Handler 164 SECTION .text:CODE:REORDER:NOROOT(1) 165SVC_Handler 166 B SVC_Handler 167 168 PUBWEAK DebugMon_Handler 169 SECTION .text:CODE:REORDER:NOROOT(1) 170DebugMon_Handler 171 B DebugMon_Handler 172 173 PUBWEAK PendSV_Handler 174 SECTION .text:CODE:REORDER:NOROOT(1) 175PendSV_Handler 176 B PendSV_Handler 177 178 PUBWEAK SysTick_Handler 179 SECTION .text:CODE:REORDER:NOROOT(1) 180SysTick_Handler 181 B SysTick_Handler 182 183 PUBWEAK WWDT_IRQHandler 184 SECTION .text:CODE:REORDER:NOROOT(1) 185WWDT_IRQHandler 186 B WWDT_IRQHandler 187 188 PUBWEAK PVD_IRQHandler 189 SECTION .text:CODE:REORDER:NOROOT(1) 190PVD_IRQHandler 191 B PVD_IRQHandler 192 193 PUBWEAK TAMPER_IRQHandler 194 SECTION .text:CODE:REORDER:NOROOT(1) 195TAMPER_IRQHandler 196 B TAMPER_IRQHandler 197 198 PUBWEAK RTC_IRQHandler 199 SECTION .text:CODE:REORDER:NOROOT(1) 200RTC_IRQHandler 201 B RTC_IRQHandler 202 203 PUBWEAK FLASH_IRQHandler 204 SECTION .text:CODE:REORDER:NOROOT(1) 205FLASH_IRQHandler 206 B FLASH_IRQHandler 207 208 PUBWEAK RCM_IRQHandler 209 SECTION .text:CODE:REORDER:NOROOT(1) 210RCM_IRQHandler 211 B RCM_IRQHandler 212 213 PUBWEAK EINT0_IRQHandler 214 SECTION .text:CODE:REORDER:NOROOT(1) 215EINT0_IRQHandler 216 B EINT0_IRQHandler 217 218 PUBWEAK EINT1_IRQHandler 219 SECTION .text:CODE:REORDER:NOROOT(1) 220EINT1_IRQHandler 221 B EINT1_IRQHandler 222 223 PUBWEAK EINT2_IRQHandler 224 SECTION .text:CODE:REORDER:NOROOT(1) 225EINT2_IRQHandler 226 B EINT2_IRQHandler 227 228 PUBWEAK EINT3_IRQHandler 229 SECTION .text:CODE:REORDER:NOROOT(1) 230EINT3_IRQHandler 231 B EINT3_IRQHandler 232 233 PUBWEAK EINT4_IRQHandler 234 SECTION .text:CODE:REORDER:NOROOT(1) 235EINT4_IRQHandler 236 B EINT4_IRQHandler 237 238 PUBWEAK DMA1_Channel1_IRQHandler 239 SECTION .text:CODE:REORDER:NOROOT(1) 240DMA1_Channel1_IRQHandler 241 B DMA1_Channel1_IRQHandler 242 243 PUBWEAK DMA1_Channel2_IRQHandler 244 SECTION .text:CODE:REORDER:NOROOT(1) 245DMA1_Channel2_IRQHandler 246 B DMA1_Channel2_IRQHandler 247 248 PUBWEAK DMA1_Channel3_IRQHandler 249 SECTION .text:CODE:REORDER:NOROOT(1) 250DMA1_Channel3_IRQHandler 251 B DMA1_Channel3_IRQHandler 252 253 PUBWEAK DMA1_Channel4_IRQHandler 254 SECTION .text:CODE:REORDER:NOROOT(1) 255DMA1_Channel4_IRQHandler 256 B DMA1_Channel4_IRQHandler 257 258 PUBWEAK DMA1_Channel5_IRQHandler 259 SECTION .text:CODE:REORDER:NOROOT(1) 260DMA1_Channel5_IRQHandler 261 B DMA1_Channel5_IRQHandler 262 263 PUBWEAK DMA1_Channel6_IRQHandler 264 SECTION .text:CODE:REORDER:NOROOT(1) 265DMA1_Channel6_IRQHandler 266 B DMA1_Channel6_IRQHandler 267 268 PUBWEAK DMA1_Channel7_IRQHandler 269 SECTION .text:CODE:REORDER:NOROOT(1) 270DMA1_Channel7_IRQHandler 271 B DMA1_Channel7_IRQHandler 272 273 PUBWEAK ADC1_2_IRQHandler 274 SECTION .text:CODE:REORDER:NOROOT(1) 275ADC1_2_IRQHandler 276 B ADC1_2_IRQHandler 277 278 PUBWEAK USBD1_HP_CAN1_TX_IRQHandler 279 SECTION .text:CODE:REORDER:NOROOT(1) 280USBD1_HP_CAN1_TX_IRQHandler 281 B USBD1_HP_CAN1_TX_IRQHandler 282 283 PUBWEAK USBD1_LP_CAN1_RX0_IRQHandler 284 SECTION .text:CODE:REORDER:NOROOT(1) 285USBD1_LP_CAN1_RX0_IRQHandler 286 B USBD1_LP_CAN1_RX0_IRQHandler 287 288 PUBWEAK CAN1_RX1_IRQHandler 289 SECTION .text:CODE:REORDER:NOROOT(1) 290CAN1_RX1_IRQHandler 291 B CAN1_RX1_IRQHandler 292 293 PUBWEAK CAN1_SCE_IRQHandler 294 SECTION .text:CODE:REORDER:NOROOT(1) 295CAN1_SCE_IRQHandler 296 B CAN1_SCE_IRQHandler 297 298 PUBWEAK EINT9_5_IRQHandler 299 SECTION .text:CODE:REORDER:NOROOT(1) 300EINT9_5_IRQHandler 301 B EINT9_5_IRQHandler 302 303 PUBWEAK TMR1_BRK_IRQHandler 304 SECTION .text:CODE:REORDER:NOROOT(1) 305TMR1_BRK_IRQHandler 306 B TMR1_BRK_IRQHandler 307 308 PUBWEAK TMR1_UP_IRQHandler 309 SECTION .text:CODE:REORDER:NOROOT(1) 310TMR1_UP_IRQHandler 311 B TMR1_UP_IRQHandler 312 313 PUBWEAK TMR1_TRG_COM_IRQHandler 314 SECTION .text:CODE:REORDER:NOROOT(1) 315TMR1_TRG_COM_IRQHandler 316 B TMR1_TRG_COM_IRQHandler 317 318 PUBWEAK TMR1_CC_IRQHandler 319 SECTION .text:CODE:REORDER:NOROOT(1) 320TMR1_CC_IRQHandler 321 B TMR1_CC_IRQHandler 322 323 PUBWEAK TMR2_IRQHandler 324 SECTION .text:CODE:REORDER:NOROOT(1) 325TMR2_IRQHandler 326 B TMR2_IRQHandler 327 328 PUBWEAK TMR3_IRQHandler 329 SECTION .text:CODE:REORDER:NOROOT(1) 330TMR3_IRQHandler 331 B TMR3_IRQHandler 332 333 PUBWEAK TMR4_IRQHandler 334 SECTION .text:CODE:REORDER:NOROOT(1) 335TMR4_IRQHandler 336 B TMR4_IRQHandler 337 338 PUBWEAK I2C1_EV_IRQHandler 339 SECTION .text:CODE:REORDER:NOROOT(1) 340I2C1_EV_IRQHandler 341 B I2C1_EV_IRQHandler 342 343 PUBWEAK I2C1_ER_IRQHandler 344 SECTION .text:CODE:REORDER:NOROOT(1) 345I2C1_ER_IRQHandler 346 B I2C1_ER_IRQHandler 347 348 PUBWEAK I2C2_EV_IRQHandler 349 SECTION .text:CODE:REORDER:NOROOT(1) 350I2C2_EV_IRQHandler 351 B I2C2_EV_IRQHandler 352 353 PUBWEAK I2C2_ER_IRQHandler 354 SECTION .text:CODE:REORDER:NOROOT(1) 355I2C2_ER_IRQHandler 356 B I2C2_ER_IRQHandler 357 358 PUBWEAK SPI1_IRQHandler 359 SECTION .text:CODE:REORDER:NOROOT(1) 360SPI1_IRQHandler 361 B SPI1_IRQHandler 362 363 PUBWEAK SPI2_IRQHandler 364 SECTION .text:CODE:REORDER:NOROOT(1) 365SPI2_IRQHandler 366 B SPI2_IRQHandler 367 368 PUBWEAK USART1_IRQHandler 369 SECTION .text:CODE:REORDER:NOROOT(1) 370USART1_IRQHandler 371 B USART1_IRQHandler 372 373 PUBWEAK USART2_IRQHandler 374 SECTION .text:CODE:REORDER:NOROOT(1) 375USART2_IRQHandler 376 B USART2_IRQHandler 377 378 PUBWEAK USART3_IRQHandler 379 SECTION .text:CODE:REORDER:NOROOT(1) 380USART3_IRQHandler 381 B USART3_IRQHandler 382 383 PUBWEAK EINT15_10_IRQHandler 384 SECTION .text:CODE:REORDER:NOROOT(1) 385EINT15_10_IRQHandler 386 B EINT15_10_IRQHandler 387 388 PUBWEAK RTCAlarm_IRQHandler 389 SECTION .text:CODE:REORDER:NOROOT(1) 390RTCAlarm_IRQHandler 391 B RTCAlarm_IRQHandler 392 393 PUBWEAK USBDWakeUp_IRQHandler 394 SECTION .text:CODE:REORDER:NOROOT(1) 395USBDWakeUp_IRQHandler 396 B USBDWakeUp_IRQHandler 397 398 PUBWEAK TMR8_BRK_IRQHandler 399 SECTION .text:CODE:REORDER:NOROOT(1) 400TMR8_BRK_IRQHandler 401 B TMR8_BRK_IRQHandler 402 403 PUBWEAK TMR8_UP_IRQHandler 404 SECTION .text:CODE:REORDER:NOROOT(1) 405TMR8_UP_IRQHandler 406 B TMR8_UP_IRQHandler 407 408 PUBWEAK TMR8_TRG_COM_IRQHandler 409 SECTION .text:CODE:REORDER:NOROOT(1) 410TMR8_TRG_COM_IRQHandler 411 B TMR8_TRG_COM_IRQHandler 412 413 PUBWEAK TMR8_CC_IRQHandler 414 SECTION .text:CODE:REORDER:NOROOT(1) 415TMR8_CC_IRQHandler 416 B TMR8_CC_IRQHandler 417 418 PUBWEAK ADC3_IRQHandler 419 SECTION .text:CODE:REORDER:NOROOT(1) 420ADC3_IRQHandler 421 B ADC3_IRQHandler 422 423 PUBWEAK EMMC_IRQHandler 424 SECTION .text:CODE:REORDER:NOROOT(1) 425EMMC_IRQHandler 426 B EMMC_IRQHandler 427 428 PUBWEAK SDIO_IRQHandler 429 SECTION .text:CODE:REORDER:NOROOT(1) 430SDIO_IRQHandler 431 B SDIO_IRQHandler 432 433 PUBWEAK TMR5_IRQHandler 434 SECTION .text:CODE:REORDER:NOROOT(1) 435TMR5_IRQHandler 436 B TMR5_IRQHandler 437 438 PUBWEAK SPI3_IRQHandler 439 SECTION .text:CODE:REORDER:NOROOT(1) 440SPI3_IRQHandler 441 B SPI3_IRQHandler 442 443 PUBWEAK UART4_IRQHandler 444 SECTION .text:CODE:REORDER:NOROOT(1) 445UART4_IRQHandler 446 B UART4_IRQHandler 447 448 PUBWEAK UART5_IRQHandler 449 SECTION .text:CODE:REORDER:NOROOT(1) 450UART5_IRQHandler 451 B UART5_IRQHandler 452 453 PUBWEAK TMR6_IRQHandler 454 SECTION .text:CODE:REORDER:NOROOT(1) 455TMR6_IRQHandler 456 B TMR6_IRQHandler 457 458 PUBWEAK TMR7_IRQHandler 459 SECTION .text:CODE:REORDER:NOROOT(1) 460TMR7_IRQHandler 461 B TMR7_IRQHandler 462 463 PUBWEAK DMA2_Channel1_IRQHandler 464 SECTION .text:CODE:REORDER:NOROOT(1) 465DMA2_Channel1_IRQHandler 466 B DMA2_Channel1_IRQHandler 467 468 PUBWEAK DMA2_Channel2_IRQHandler 469 SECTION .text:CODE:REORDER:NOROOT(1) 470DMA2_Channel2_IRQHandler 471 B DMA2_Channel2_IRQHandler 472 473 PUBWEAK DMA2_Channel3_IRQHandler 474 SECTION .text:CODE:REORDER:NOROOT(1) 475DMA2_Channel3_IRQHandler 476 B DMA2_Channel3_IRQHandler 477 478 PUBWEAK DMA2_Channel4_5_IRQHandler 479 SECTION .text:CODE:REORDER:NOROOT(1) 480DMA2_Channel4_5_IRQHandler 481 B DMA2_Channel4_5_IRQHandler 482 483 PUBWEAK USBD2_HP_CAN2_TX_IRQHandler 484 SECTION .text:CODE:REORDER:NOROOT(1) 485USBD2_HP_CAN2_TX_IRQHandler 486 B USBD2_HP_CAN2_TX_IRQHandler 487 488 PUBWEAK USBD2_LP_CAN2_RX0_IRQHandler 489 SECTION .text:CODE:REORDER:NOROOT(1) 490USBD2_LP_CAN2_RX0_IRQHandler 491 B USBD2_LP_CAN2_RX0_IRQHandler 492 493 PUBWEAK CAN2_RX1_IRQHandler 494 SECTION .text:CODE:REORDER:NOROOT(1) 495CAN2_RX1_IRQHandler 496 B CAN2_RX1_IRQHandler 497 498 PUBWEAK CAN2_SCE_IRQHandler 499 SECTION .text:CODE:REORDER:NOROOT(1) 500CAN2_SCE_IRQHandler 501 B CAN2_SCE_IRQHandler 502 503 END 504 505