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