1; **************************************************************************** 2; Copyright (c) 2019, Nations Technologies Inc. 3; 4; All rights reserved. 5; **************************************************************************** 6; 7; Redistribution and use in source and binary forms, with or without 8; modification, are permitted provided that the following conditions are met: 9; 10; - Redistributions of source code must retain the above copyright notice, 11; this list of conditions and the disclaimer below. 12; 13; Nations name may not be used to endorse or promote products derived from 14; this software without specific prior written permission. 15; 16; DISCLAIMER: THIS SOFTWARE IS PROVIDED BY NATIONS "AS IS" AND ANY EXPRESS OR 17; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE 19; DISCLAIMED. IN NO EVENT SHALL NATIONS BE LIABLE FOR ANY DIRECT, INDIRECT, 20; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 21; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 22; OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 23; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 24; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 25; EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26; **************************************************************************** 27 28; Amount of memory (in bytes) allocated for Stack 29; Tailor this value to your application needs 30; <h> Stack Configuration 31; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> 32; </h> 33 34 MODULE ?cstartup 35 36 ;; Forward declaration of sections. 37 SECTION CSTACK:DATA:NOROOT(3) 38 39 SECTION .intvec:CODE:NOROOT(2) 40 41 EXTERN __iar_program_start 42 EXTERN SystemInit 43 PUBLIC __vector_table 44 45 DATA 46 47__vector_table 48 DCD sfe(CSTACK) 49 DCD Reset_Handler ; Reset Handler 50 DCD NMI_Handler ; NMI Handler 51 DCD HardFault_Handler ; Hard Fault Handler 52 DCD MemManage_Handler ; MPU Fault Handler 53 DCD BusFault_Handler ; Bus Fault Handler 54 DCD UsageFault_Handler ; Usage Fault Handler 55 DCD 0 ; Reserved 56 DCD 0 ; Reserved 57 DCD 0 ; Reserved 58 DCD 0 ; Reserved 59 DCD SVC_Handler ; SVCall Handler 60 DCD DebugMon_Handler ; Debug Monitor Handler 61 DCD 0 ; Reserved 62 DCD PendSV_Handler ; PendSV Handler 63 DCD SysTick_Handler ; SysTick Handler 64 65 ; External Interrupts 66 DCD WWDG_IRQHandler ; Window Watchdog 67 DCD PVD_IRQHandler ; PVD through EXTI Line detect 68 DCD TAMPER_IRQHandler ; RTC Tamper interrupt or Timestamp through EXTI line 19 interrupt 69 DCD RTC_WKUP_IRQHandler ; RTC_WKUP 70 DCD FLASH_IRQHandler ; Flash 71 DCD RCC_IRQHandler ; RCC 72 DCD EXTI0_IRQHandler ; EXTI Line 0 73 DCD EXTI1_IRQHandler ; EXTI Line 1 74 DCD EXTI2_IRQHandler ; EXTI Line 2 75 DCD EXTI3_IRQHandler ; EXTI Line 3 76 DCD EXTI4_IRQHandler ; EXTI Line 4 77 DCD DMA_Channel1_IRQHandler ; DMA1 Channel 1 78 DCD DMA_Channel2_IRQHandler ; DMA1 Channel 2 79 DCD DMA_Channel3_IRQHandler ; DMA1 Channel 3 80 DCD DMA_Channel4_IRQHandler ; DMA1 Channel 4 81 DCD DMA_Channel5_IRQHandler ; DMA1 Channel 5 82 DCD DMA_Channel6_IRQHandler ; DMA1 Channel 6 83 DCD DMA_Channel7_IRQHandler ; DMA1 Channel 7 84 DCD DMA_Channel8_IRQHandler ; DMA Channel 8 85 DCD ADC_IRQHandler ; ADC 86 DCD USB_HP_IRQHandler ; USB High Priority 87 DCD USB_LP_IRQHandler ; USB Low Priority 88 DCD COMP_1_2_IRQHandler ; COMP1 & COMP2 through EXTI line 21/22 89 DCD EXTI9_5_IRQHandler ; EXTI Line 9..5 90 DCD TIM1_BRK_IRQHandler ; TIM1 Break 91 DCD TIM1_UP_IRQHandler ; TIM1 Update 92 DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation 93 DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare 94 DCD TIM2_IRQHandler ; TIM2 95 DCD TIM3_IRQHandler ; TIM3 96 DCD TIM4_IRQHandler ; TIM4 97 DCD I2C1_EV_IRQHandler ; I2C1 Event 98 DCD I2C1_ER_IRQHandler ; I2C1 Error 99 DCD I2C2_EV_IRQHandler ; I2C2 Event 100 DCD I2C2_ER_IRQHandler ; I2C2 Error 101 DCD SPI1_IRQHandler ; SPI1 102 DCD SPI2_IRQHandler ; SPI2 103 DCD USART1_IRQHandler ; USART1 104 DCD USART2_IRQHandler ; USART2 105 DCD USART3_IRQHandler ; USART3 106 DCD EXTI15_10_IRQHandler ; EXTI Line 15..10 107 DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line 108 DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend 109 DCD TIM8_BRK_IRQHandler ; TIM8 Break 110 DCD TIM8_UP_IRQHandler ; TIM8 Update 111 DCD TIM8_TRG_COM_IRQHandler ; TIM8 Trigger and Commutation 112 DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare 113 DCD UART4_IRQHandler ; UART4 114 DCD UART5_IRQHandler ; UART5 115 DCD LPUART_IRQHandler ; LPUART 116 DCD TIM5_IRQHandler ; TIM5 117 DCD TIM6_IRQHandler ; TIM6 118 DCD TIM7_IRQHandler ; TIM7 119 DCD CAN_TX_IRQHandler ; CAN TX 120 DCD CAN_RX0_IRQHandler ; CAN RX0 121 DCD CAN_RX1_IRQHandler ; CAN RX1 122 DCD CAN_SCE_IRQHandler ; CAN SCE 123 DCD LPUART_WKUP_IRQHandler ; LPUART_WKUP 124 DCD LPTIM_WKUP_IRQHandler ; LPTIM_WKUP 125 DCD LCD_IRQHandler ; LCD 126 DCD SAC_IRQHandler ; SAC 127 DCD MMU_IRQHandler ; MMU 128 DCD TSC_IRQHandler ; TSC 129 DCD RAMC_PERR_IRQHandler ; RAMC ERR 130 DCD TIM9_IRQHandler ; TIM9 131 DCD UCDR_IRQHandler ; UCDR ERR 132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 133;; 134;; Default interrupt handlers. 135;; 136 THUMB 137 138 PUBWEAK Reset_Handler 139 SECTION .text:CODE:REORDER:NOROOT(2) 140Reset_Handler 141 LDR R0, =SystemInit 142 BLX R0 143 LDR R0, =__iar_program_start 144 BX R0 145 146 PUBWEAK NMI_Handler 147 SECTION .text:CODE:REORDER:NOROOT(1) 148NMI_Handler 149 B NMI_Handler 150 151 PUBWEAK HardFault_Handler 152 SECTION .text:CODE:REORDER:NOROOT(1) 153HardFault_Handler 154 B HardFault_Handler 155 156 PUBWEAK MemManage_Handler 157 SECTION .text:CODE:REORDER:NOROOT(1) 158MemManage_Handler 159 B MemManage_Handler 160 161 PUBWEAK BusFault_Handler 162 SECTION .text:CODE:REORDER:NOROOT(1) 163BusFault_Handler 164 B BusFault_Handler 165 166 PUBWEAK UsageFault_Handler 167 SECTION .text:CODE:REORDER:NOROOT(1) 168UsageFault_Handler 169 B UsageFault_Handler 170 171 PUBWEAK SVC_Handler 172 SECTION .text:CODE:REORDER:NOROOT(1) 173SVC_Handler 174 B SVC_Handler 175 176 PUBWEAK DebugMon_Handler 177 SECTION .text:CODE:REORDER:NOROOT(1) 178DebugMon_Handler 179 B DebugMon_Handler 180 181 PUBWEAK PendSV_Handler 182 SECTION .text:CODE:REORDER:NOROOT(1) 183PendSV_Handler 184 B PendSV_Handler 185 186 PUBWEAK SysTick_Handler 187 SECTION .text:CODE:REORDER:NOROOT(1) 188SysTick_Handler 189 B SysTick_Handler 190 191 PUBWEAK WWDG_IRQHandler 192 SECTION .text:CODE:REORDER:NOROOT(1) 193WWDG_IRQHandler 194 B WWDG_IRQHandler 195 196 PUBWEAK PVD_IRQHandler 197 SECTION .text:CODE:REORDER:NOROOT(1) 198PVD_IRQHandler 199 B PVD_IRQHandler 200 201 PUBWEAK TAMPER_IRQHandler 202 SECTION .text:CODE:REORDER:NOROOT(1) 203TAMPER_IRQHandler 204 B TAMPER_IRQHandler 205 206 PUBWEAK RTC_WKUP_IRQHandler 207 SECTION .text:CODE:REORDER:NOROOT(1) 208RTC_WKUP_IRQHandler 209 B RTC_WKUP_IRQHandler 210 211 PUBWEAK FLASH_IRQHandler 212 SECTION .text:CODE:REORDER:NOROOT(1) 213FLASH_IRQHandler 214 B FLASH_IRQHandler 215 216 PUBWEAK RCC_IRQHandler 217 SECTION .text:CODE:REORDER:NOROOT(1) 218RCC_IRQHandler 219 B RCC_IRQHandler 220 221 PUBWEAK EXTI0_IRQHandler 222 SECTION .text:CODE:REORDER:NOROOT(1) 223EXTI0_IRQHandler 224 B EXTI0_IRQHandler 225 226 PUBWEAK EXTI1_IRQHandler 227 SECTION .text:CODE:REORDER:NOROOT(1) 228EXTI1_IRQHandler 229 B EXTI1_IRQHandler 230 231 PUBWEAK EXTI2_IRQHandler 232 SECTION .text:CODE:REORDER:NOROOT(1) 233EXTI2_IRQHandler 234 B EXTI2_IRQHandler 235 236 PUBWEAK EXTI3_IRQHandler 237 SECTION .text:CODE:REORDER:NOROOT(1) 238EXTI3_IRQHandler 239 B EXTI3_IRQHandler 240 241 PUBWEAK EXTI4_IRQHandler 242 SECTION .text:CODE:REORDER:NOROOT(1) 243EXTI4_IRQHandler 244 B EXTI4_IRQHandler 245 246 PUBWEAK DMA_Channel1_IRQHandler 247 SECTION .text:CODE:REORDER:NOROOT(1) 248DMA_Channel1_IRQHandler 249 B DMA_Channel1_IRQHandler 250 251 PUBWEAK DMA_Channel2_IRQHandler 252 SECTION .text:CODE:REORDER:NOROOT(1) 253DMA_Channel2_IRQHandler 254 B DMA_Channel2_IRQHandler 255 256 PUBWEAK DMA_Channel3_IRQHandler 257 SECTION .text:CODE:REORDER:NOROOT(1) 258DMA_Channel3_IRQHandler 259 B DMA_Channel3_IRQHandler 260 261 PUBWEAK DMA_Channel4_IRQHandler 262 SECTION .text:CODE:REORDER:NOROOT(1) 263DMA_Channel4_IRQHandler 264 B DMA_Channel4_IRQHandler 265 266 PUBWEAK DMA_Channel5_IRQHandler 267 SECTION .text:CODE:REORDER:NOROOT(1) 268DMA_Channel5_IRQHandler 269 B DMA_Channel5_IRQHandler 270 271 PUBWEAK DMA_Channel6_IRQHandler 272 SECTION .text:CODE:REORDER:NOROOT(1) 273DMA_Channel6_IRQHandler 274 B DMA_Channel6_IRQHandler 275 276 PUBWEAK DMA_Channel7_IRQHandler 277 SECTION .text:CODE:REORDER:NOROOT(1) 278DMA_Channel7_IRQHandler 279 B DMA_Channel7_IRQHandler 280 281 PUBWEAK DMA_Channel8_IRQHandler 282 SECTION .text:CODE:REORDER:NOROOT(1) 283DMA_Channel8_IRQHandler 284 B DMA_Channel8_IRQHandler 285 286 PUBWEAK ADC_IRQHandler 287 SECTION .text:CODE:REORDER:NOROOT(1) 288ADC_IRQHandler 289 B ADC_IRQHandler 290 291 PUBWEAK USB_HP_IRQHandler 292 SECTION .text:CODE:REORDER:NOROOT(1) 293USB_HP_IRQHandler 294 B USB_HP_IRQHandler 295 296 PUBWEAK USB_LP_IRQHandler 297 SECTION .text:CODE:REORDER:NOROOT(1) 298USB_LP_IRQHandler 299 B USB_LP_IRQHandler 300 301 PUBWEAK COMP_1_2_IRQHandler 302 SECTION .text:CODE:REORDER:NOROOT(1) 303COMP_1_2_IRQHandler 304 B COMP_1_2_IRQHandler 305 306 PUBWEAK EXTI9_5_IRQHandler 307 SECTION .text:CODE:REORDER:NOROOT(1) 308EXTI9_5_IRQHandler 309 B EXTI9_5_IRQHandler 310 311 PUBWEAK TIM1_BRK_IRQHandler 312 SECTION .text:CODE:REORDER:NOROOT(1) 313TIM1_BRK_IRQHandler 314 B TIM1_BRK_IRQHandler 315 316 PUBWEAK TIM1_UP_IRQHandler 317 SECTION .text:CODE:REORDER:NOROOT(1) 318TIM1_UP_IRQHandler 319 B TIM1_UP_IRQHandler 320 321 PUBWEAK TIM1_TRG_COM_IRQHandler 322 SECTION .text:CODE:REORDER:NOROOT(1) 323TIM1_TRG_COM_IRQHandler 324 B TIM1_TRG_COM_IRQHandler 325 326 PUBWEAK TIM1_CC_IRQHandler 327 SECTION .text:CODE:REORDER:NOROOT(1) 328TIM1_CC_IRQHandler 329 B TIM1_CC_IRQHandler 330 331 PUBWEAK TIM2_IRQHandler 332 SECTION .text:CODE:REORDER:NOROOT(1) 333TIM2_IRQHandler 334 B TIM2_IRQHandler 335 336 PUBWEAK TIM3_IRQHandler 337 SECTION .text:CODE:REORDER:NOROOT(1) 338TIM3_IRQHandler 339 B TIM3_IRQHandler 340 341 PUBWEAK TIM4_IRQHandler 342 SECTION .text:CODE:REORDER:NOROOT(1) 343TIM4_IRQHandler 344 B TIM4_IRQHandler 345 346 PUBWEAK I2C1_EV_IRQHandler 347 SECTION .text:CODE:REORDER:NOROOT(1) 348I2C1_EV_IRQHandler 349 B I2C1_EV_IRQHandler 350 351 PUBWEAK I2C1_ER_IRQHandler 352 SECTION .text:CODE:REORDER:NOROOT(1) 353I2C1_ER_IRQHandler 354 B I2C1_ER_IRQHandler 355 356 PUBWEAK I2C2_EV_IRQHandler 357 SECTION .text:CODE:REORDER:NOROOT(1) 358I2C2_EV_IRQHandler 359 B I2C2_EV_IRQHandler 360 361 PUBWEAK I2C2_ER_IRQHandler 362 SECTION .text:CODE:REORDER:NOROOT(1) 363I2C2_ER_IRQHandler 364 B I2C2_ER_IRQHandler 365 366 PUBWEAK SPI1_IRQHandler 367 SECTION .text:CODE:REORDER:NOROOT(1) 368SPI1_IRQHandler 369 B SPI1_IRQHandler 370 371 PUBWEAK SPI2_IRQHandler 372 SECTION .text:CODE:REORDER:NOROOT(1) 373SPI2_IRQHandler 374 B SPI2_IRQHandler 375 376 PUBWEAK USART1_IRQHandler 377 SECTION .text:CODE:REORDER:NOROOT(1) 378USART1_IRQHandler 379 B USART1_IRQHandler 380 381 PUBWEAK USART2_IRQHandler 382 SECTION .text:CODE:REORDER:NOROOT(1) 383USART2_IRQHandler 384 B USART2_IRQHandler 385 386 PUBWEAK USART3_IRQHandler 387 SECTION .text:CODE:REORDER:NOROOT(1) 388USART3_IRQHandler 389 B USART3_IRQHandler 390 391 PUBWEAK EXTI15_10_IRQHandler 392 SECTION .text:CODE:REORDER:NOROOT(1) 393EXTI15_10_IRQHandler 394 B EXTI15_10_IRQHandler 395 396 PUBWEAK RTCAlarm_IRQHandler 397 SECTION .text:CODE:REORDER:NOROOT(1) 398RTCAlarm_IRQHandler 399 B RTCAlarm_IRQHandler 400 401 PUBWEAK USBWakeUp_IRQHandler 402 SECTION .text:CODE:REORDER:NOROOT(1) 403USBWakeUp_IRQHandler 404 B USBWakeUp_IRQHandler 405 406 PUBWEAK TIM8_BRK_IRQHandler 407 SECTION .text:CODE:REORDER:NOROOT(1) 408TIM8_BRK_IRQHandler 409 B TIM8_BRK_IRQHandler 410 411 PUBWEAK TIM8_UP_IRQHandler 412 SECTION .text:CODE:REORDER:NOROOT(1) 413TIM8_UP_IRQHandler 414 B TIM8_UP_IRQHandler 415 416 PUBWEAK TIM8_TRG_COM_IRQHandler 417 SECTION .text:CODE:REORDER:NOROOT(1) 418TIM8_TRG_COM_IRQHandler 419 B TIM8_TRG_COM_IRQHandler 420 421 PUBWEAK TIM8_CC_IRQHandler 422 SECTION .text:CODE:REORDER:NOROOT(1) 423TIM8_CC_IRQHandler 424 B TIM8_CC_IRQHandler 425 426 PUBWEAK UART4_IRQHandler 427 SECTION .text:CODE:REORDER:NOROOT(1) 428UART4_IRQHandler 429 B UART4_IRQHandler 430 431 PUBWEAK UART5_IRQHandler 432 SECTION .text:CODE:REORDER:NOROOT(1) 433UART5_IRQHandler 434 B UART5_IRQHandler 435 436 PUBWEAK LPUART_IRQHandler 437 SECTION .text:CODE:REORDER:NOROOT(1) 438LPUART_IRQHandler 439 B LPUART_IRQHandler 440 441 PUBWEAK TIM5_IRQHandler 442 SECTION .text:CODE:REORDER:NOROOT(1) 443TIM5_IRQHandler 444 B TIM5_IRQHandler 445 446 PUBWEAK TIM6_IRQHandler 447 SECTION .text:CODE:REORDER:NOROOT(1) 448TIM6_IRQHandler 449 B TIM6_IRQHandler 450 451 PUBWEAK TIM7_IRQHandler 452 SECTION .text:CODE:REORDER:NOROOT(1) 453TIM7_IRQHandler 454 B TIM7_IRQHandler 455 456 PUBWEAK CAN_TX_IRQHandler 457 SECTION .text:CODE:REORDER:NOROOT(1) 458CAN_TX_IRQHandler 459 B CAN_TX_IRQHandler 460 461 PUBWEAK CAN_RX0_IRQHandler 462 SECTION .text:CODE:REORDER:NOROOT(1) 463CAN_RX0_IRQHandler 464 B CAN_RX0_IRQHandler 465 466 PUBWEAK CAN_RX1_IRQHandler 467 SECTION .text:CODE:REORDER:NOROOT(1) 468CAN_RX1_IRQHandler 469 B CAN_RX1_IRQHandler 470 471 PUBWEAK CAN_SCE_IRQHandler 472 SECTION .text:CODE:REORDER:NOROOT(1) 473CAN_SCE_IRQHandler 474 B CAN_SCE_IRQHandler 475 476 PUBWEAK LPUART_WKUP_IRQHandler 477 SECTION .text:CODE:REORDER:NOROOT(1) 478LPUART_WKUP_IRQHandler 479 B LPUART_WKUP_IRQHandler 480 481 PUBWEAK LPTIM_WKUP_IRQHandler 482 SECTION .text:CODE:REORDER:NOROOT(1) 483LPTIM_WKUP_IRQHandler 484 B LPTIM_WKUP_IRQHandler 485 486 PUBWEAK LCD_IRQHandler 487 SECTION .text:CODE:REORDER:NOROOT(1) 488LCD_IRQHandler 489 B LCD_IRQHandler 490 491 PUBWEAK SAC_IRQHandler 492 SECTION .text:CODE:REORDER:NOROOT(1) 493SAC_IRQHandler 494 B SAC_IRQHandler 495 496 PUBWEAK MMU_IRQHandler 497 SECTION .text:CODE:REORDER:NOROOT(1) 498MMU_IRQHandler 499 B MMU_IRQHandler 500 501 PUBWEAK TSC_IRQHandler 502 SECTION .text:CODE:REORDER:NOROOT(1) 503TSC_IRQHandler 504 B TSC_IRQHandler 505 506 PUBWEAK RAMC_PERR_IRQHandler 507 SECTION .text:CODE:REORDER:NOROOT(1) 508RAMC_PERR_IRQHandler 509 B RAMC_PERR_IRQHandler 510 511 PUBWEAK TIM9_IRQHandler 512 SECTION .text:CODE:REORDER:NOROOT(1) 513TIM9_IRQHandler 514 B TIM9_IRQHandler 515 516 PUBWEAK UCDR_IRQHandler 517 SECTION .text:CODE:REORDER:NOROOT(1) 518UCDR_IRQHandler 519 B UCDR_IRQHandler 520 521 522 END 523 524