1;******************************************************************************** 2;* File Name : Startup_ACM32F4.s 3;* Description : This module performs: 4;* - Set the initial SP 5;* - Set the initial PC == _iar_program_start, 6;* - Set the vector table entries with the exceptions ISR 7;* address. 8;* - Branches to main in the C library (which eventually 9;* calls main()). 10;* After Reset the Cortex-M33 processor is in Thread mode, 11;* priority is Privileged, and the Stack is set to Main. 12;******************************************************************************** 13;* 14;* <h2><center>© Copyright (c) 2021 Aisinochip. 15;* All rights reserved.</center></h2> 16;* 17;******************************************************************************* 18 19 20 MODULE ?cstartup 21 22 ;; Forward declaration of sections. 23 SECTION CSTACK:DATA:NOROOT(3) 24 25 SECTION .intvec:CODE:NOROOT(2) 26 27 EXTERN __iar_program_start 28 PUBLIC __vector_table 29 PUBLIC __Vectors 30 PUBLIC __Vectors_End 31 PUBLIC __Vectors_Size 32 33 DATA 34__vector_table 35 DCD sfe(CSTACK) 36 DCD Reset_Handler ; Reset Handler 37 DCD NMI_Handler ; NMI Handler 38 DCD HardFault_Handler ; Hard Fault Handler 39 DCD MemManage_Handler ; MPU Fault Handler 40 DCD BusFault_Handler ; Bus Fault Handler 41 DCD UsageFault_Handler ; Usage Fault Handler 42 DCD 0 ; Reserved 43 DCD 0 ; Reserved 44 DCD 0 ; Reserved 45 DCD 0 ; Reserved 46 DCD SVC_Handler ; SVCall Handler 47 DCD DebugMon_Handler ; Debug Monitor Handler 48 DCD 0 ; Reserved 49 DCD PendSV_Handler ; PendSV Handler 50 DCD SysTick_Handler ; SysTick Handler 51 52 ; External Interrupts 53 DCD WDT_IRQHandler ; WDT_IRQHandle 54 DCD RTC_IRQHandler ; RTC_IRQHandler 55 DCD EFC_IRQHandler ; EFC_IRQHandler 56 DCD GPIOAB_IRQHandler ; GPIOAB_IRQHandler 57 DCD GPIOCD_IRQHandler ; GPIOCD_IRQHandler 58 DCD EXTI_IRQHandler ; EXTI_IRQHandler 59 DCD SRAM_PARITY_IRQHandler ; SRAM_PARITY_IRQHandler 60 DCD CLKRDY_IRQHandler ; CLKRDY_IRQHandler 61 DCD UART4_IRQHandler ; UART4_IRQHandler 62 DCD DMA_IRQHandler ; DMA_IRQHandler 63 DCD UART3_IRQHandler ; UART3_IRQHandler 64 DCD RSV_IRQHandler ; RSV_IRQHandler 65 DCD ADC_IRQHandler ; ADC_IRQHandler 66 DCD TIM1_BRK_UP_TRG_COM_IRQHandler ; TIM1_BRK_UP_TRG_COM_IRQHandler 67 DCD TIM1_CC_IRQHandler ; TIM1_CC_IRQHandler 68 DCD TIM2_IRQHandler ; TIM2_IRQHandler 69 DCD TIM3_IRQHandler ; TIM3_IRQHandler 70 DCD TIM6_IRQHandler ; TIM6_IRQHandler 71 DCD TIM7_IRQHandler ; TIM7_IRQHandler 72 DCD TIM14_IRQHandler ; TIM14_IRQHandler 73 DCD TIM15_IRQHandler ; TIM15_IRQHandler 74 DCD TIM16_IRQHandler ; TIM16_IRQHandler 75 DCD TIM17_IRQHandler ; TIM17_IRQHandler 76 DCD I2C1_IRQHandler ; I2C1_IRQHandler 77 DCD I2C2_IRQHandler ; I2C2_IRQHandler 78 DCD SPI1_IRQHandler ; SPI1_IRQHandler 79 DCD SPI2_IRQHandler ; SPI2_IRQHandler 80 DCD UART1_IRQHandler ; UART1_IRQHandler 81 DCD UART2_IRQHandler ; UART2_IRQHandler 82 DCD LPUART_IRQHandler ; LPUART_IRQHandler 83 DCD SPI3_IRQHandler ; SPI3_IRQHandler 84 DCD AES_IRQHandler ; AES_IRQHandler 85 DCD USB_IRQHandler ; USB_IRQHandler 86 DCD DAC_IRQHandler ; DAC_IRQHandler 87 DCD I2S_IRQHandler ; I2S_IRQHandler 88 DCD GPIOEF_IRQHandler ; GPIOEF_IRQHandler 89 DCD CAN1_IRQHandler ; CAN1_IRQHandler 90 DCD CAN2_IRQHandler ; CAN2_IRQHandler 91 DCD FPU_IRQHandler ; FPU_IRQHandler 92 DCD TIM4_IRQHandler ; TIM4_IRQHandler 93 DCD SPI4_IRQHandler ; SPI4_IRQHandler 94__Vectors_End 95 96__Vectors EQU __vector_table 97__Vectors_Size EQU __Vectors_End - __Vectors 98 99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 100;; 101;; Default interrupt handlers. 102;; 103 THUMB 104 PUBWEAK Reset_Handler 105 SECTION .text:CODE:NOROOT:REORDER(2) 106Reset_Handler 107 LDR R0, =__iar_program_start 108 BX R0 109 110 PUBWEAK NMI_Handler 111 SECTION .text:CODE:NOROOT:REORDER(1) 112NMI_Handler 113 B NMI_Handler 114 115 PUBWEAK HardFault_Handler 116 SECTION .text:CODE:NOROOT:REORDER(1) 117HardFault_Handler 118 B HardFault_Handler 119 120 PUBWEAK MemManage_Handler 121 SECTION .text:CODE:NOROOT:REORDER(1) 122MemManage_Handler 123 B MemManage_Handler 124 125 PUBWEAK BusFault_Handler 126 SECTION .text:CODE:NOROOT:REORDER(1) 127BusFault_Handler 128 B BusFault_Handler 129 130 PUBWEAK UsageFault_Handler 131 SECTION .text:CODE:NOROOT:REORDER(1) 132UsageFault_Handler 133 B UsageFault_Handler 134 135 PUBWEAK SVC_Handler 136 SECTION .text:CODE:NOROOT:REORDER(1) 137SVC_Handler 138 B SVC_Handler 139 140 PUBWEAK DebugMon_Handler 141 SECTION .text:CODE:NOROOT:REORDER(1) 142DebugMon_Handler 143 B DebugMon_Handler 144 145 PUBWEAK PendSV_Handler 146 SECTION .text:CODE:NOROOT:REORDER(1) 147PendSV_Handler 148 B PendSV_Handler 149 150 PUBWEAK SysTick_Handler 151 SECTION .text:CODE:NOROOT:REORDER(1) 152SysTick_Handler 153 B SysTick_Handler 154 155 PUBWEAK WDT_IRQHandler 156 SECTION .text:CODE:NOROOT:REORDER(1) 157WDT_IRQHandler 158 B WDT_IRQHandler 159 160 PUBWEAK RTC_IRQHandler 161 SECTION .text:CODE:NOROOT:REORDER(1) 162RTC_IRQHandler 163 B RTC_IRQHandler 164 165 PUBWEAK EFC_IRQHandler 166 SECTION .text:CODE:NOROOT:REORDER(1) 167EFC_IRQHandler 168 B EFC_IRQHandler 169 170 PUBWEAK GPIOAB_IRQHandler 171 SECTION .text:CODE:NOROOT:REORDER(1) 172GPIOAB_IRQHandler 173 B GPIOAB_IRQHandler 174 175 PUBWEAK GPIOCD_IRQHandler 176 SECTION .text:CODE:NOROOT:REORDER(1) 177GPIOCD_IRQHandler 178 B GPIOCD_IRQHandler 179 180 PUBWEAK EXTI_IRQHandler 181 SECTION .text:CODE:NOROOT:REORDER(1) 182EXTI_IRQHandler 183 B EXTI_IRQHandler 184 185 PUBWEAK SRAM_PARITY_IRQHandler 186 SECTION .text:CODE:NOROOT:REORDER(1) 187SRAM_PARITY_IRQHandler 188 B SRAM_PARITY_IRQHandler 189 190 PUBWEAK CLKRDY_IRQHandler 191 SECTION .text:CODE:NOROOT:REORDER(1) 192CLKRDY_IRQHandler 193 B CLKRDY_IRQHandler 194 195 PUBWEAK UART4_IRQHandler 196 SECTION .text:CODE:NOROOT:REORDER(1) 197UART4_IRQHandler 198 B UART4_IRQHandler 199 200 PUBWEAK DMA_IRQHandler 201 SECTION .text:CODE:NOROOT:REORDER(1) 202DMA_IRQHandler 203 B DMA_IRQHandler 204 205 PUBWEAK UART3_IRQHandler 206 SECTION .text:CODE:NOROOT:REORDER(1) 207UART3_IRQHandler 208 B UART3_IRQHandler 209 210 PUBWEAK RSV_IRQHandler 211 SECTION .text:CODE:NOROOT:REORDER(1) 212RSV_IRQHandler 213 B RSV_IRQHandler 214 215 PUBWEAK ADC_IRQHandler 216 SECTION .text:CODE:NOROOT:REORDER(1) 217ADC_IRQHandler 218 B ADC_IRQHandler 219 220 PUBWEAK TIM1_BRK_UP_TRG_COM_IRQHandler 221 SECTION .text:CODE:NOROOT:REORDER(1) 222TIM1_BRK_UP_TRG_COM_IRQHandler 223 B TIM1_BRK_UP_TRG_COM_IRQHandler 224 225 PUBWEAK TIM1_CC_IRQHandler 226 SECTION .text:CODE:NOROOT:REORDER(1) 227TIM1_CC_IRQHandler 228 B TIM1_CC_IRQHandler 229 230 PUBWEAK TIM2_IRQHandler 231 SECTION .text:CODE:NOROOT:REORDER(1) 232TIM2_IRQHandler 233 B TIM2_IRQHandler 234 235 PUBWEAK TIM3_IRQHandler 236 SECTION .text:CODE:NOROOT:REORDER(1) 237TIM3_IRQHandler 238 B TIM3_IRQHandler 239 240 PUBWEAK TIM6_IRQHandler 241 SECTION .text:CODE:NOROOT:REORDER(1) 242TIM6_IRQHandler 243 B TIM6_IRQHandler 244 245 PUBWEAK TIM7_IRQHandler 246 SECTION .text:CODE:NOROOT:REORDER(1) 247TIM7_IRQHandler 248 B TIM7_IRQHandler 249 250 PUBWEAK TIM14_IRQHandler 251 SECTION .text:CODE:NOROOT:REORDER(1) 252TIM14_IRQHandler 253 B TIM14_IRQHandler 254 255 PUBWEAK TIM15_IRQHandler 256 SECTION .text:CODE:NOROOT:REORDER(1) 257TIM15_IRQHandler 258 B TIM15_IRQHandler 259 260 PUBWEAK TIM16_IRQHandler 261 SECTION .text:CODE:NOROOT:REORDER(1) 262TIM16_IRQHandler 263 B TIM16_IRQHandler 264 265 PUBWEAK TIM17_IRQHandler 266 SECTION .text:CODE:NOROOT:REORDER(1) 267TIM17_IRQHandler 268 B TIM17_IRQHandler 269 270 PUBWEAK I2C1_IRQHandler 271 SECTION .text:CODE:NOROOT:REORDER(1) 272I2C1_IRQHandler 273 B I2C1_IRQHandler 274 275 PUBWEAK I2C2_IRQHandler 276 SECTION .text:CODE:NOROOT:REORDER(1) 277I2C2_IRQHandler 278 B I2C2_IRQHandler 279 280 PUBWEAK SPI1_IRQHandler 281 SECTION .text:CODE:NOROOT:REORDER(1) 282SPI1_IRQHandler 283 B SPI1_IRQHandler 284 285 PUBWEAK SPI2_IRQHandler 286 SECTION .text:CODE:NOROOT:REORDER(1) 287SPI2_IRQHandler 288 B SPI2_IRQHandler 289 290 PUBWEAK UART1_IRQHandler 291 SECTION .text:CODE:NOROOT:REORDER(1) 292UART1_IRQHandler 293 B UART1_IRQHandler 294 295 PUBWEAK UART2_IRQHandler 296 SECTION .text:CODE:NOROOT:REORDER(1) 297UART2_IRQHandler 298 B UART2_IRQHandler 299 300 PUBWEAK LPUART_IRQHandler 301 SECTION .text:CODE:NOROOT:REORDER(1) 302LPUART_IRQHandler 303 B LPUART_IRQHandler 304 305 PUBWEAK SPI3_IRQHandler 306 SECTION .text:CODE:NOROOT:REORDER(1) 307SPI3_IRQHandler 308 B SPI3_IRQHandler 309 310 PUBWEAK AES_IRQHandler 311 SECTION .text:CODE:NOROOT:REORDER(1) 312AES_IRQHandler 313 B AES_IRQHandler 314 315 PUBWEAK USB_IRQHandler 316 SECTION .text:CODE:NOROOT:REORDER(1) 317USB_IRQHandler 318 B USB_IRQHandler 319 320 PUBWEAK DAC_IRQHandler 321 SECTION .text:CODE:NOROOT:REORDER(1) 322DAC_IRQHandler 323 B DAC_IRQHandler 324 325 PUBWEAK I2S_IRQHandler 326 SECTION .text:CODE:NOROOT:REORDER(1) 327I2S_IRQHandler 328 B I2S_IRQHandler 329 330 PUBWEAK GPIOEF_IRQHandler 331 SECTION .text:CODE:NOROOT:REORDER(1) 332GPIOEF_IRQHandler 333 B GPIOEF_IRQHandler 334 335 PUBWEAK CAN1_IRQHandler 336 SECTION .text:CODE:NOROOT:REORDER(1) 337CAN1_IRQHandler 338 B CAN1_IRQHandler 339 340 PUBWEAK CAN2_IRQHandler 341 SECTION .text:CODE:NOROOT:REORDER(1) 342CAN2_IRQHandler 343 B CAN2_IRQHandler 344 345 PUBWEAK FPU_IRQHandler 346 SECTION .text:CODE:NOROOT:REORDER(1) 347FPU_IRQHandler 348 B FPU_IRQHandler 349 350 PUBWEAK TIM4_IRQHandler 351 SECTION .text:CODE:NOROOT:REORDER(1) 352TIM4_IRQHandler 353 B TIM4_IRQHandler 354 355 PUBWEAK SPI4_IRQHandler 356 SECTION .text:CODE:NOROOT:REORDER(1) 357SPI4_IRQHandler 358 B SPI4_IRQHandler 359 360 361 END 362/************************ (C) COPYRIGHT Aisinochip *****END OF FILE****/ 363