1*225f4ba4SMatthias Ringwald/** 2*225f4ba4SMatthias Ringwald ****************************************************************************** 3*225f4ba4SMatthias Ringwald * @file startup_stm32f407xx.s 4*225f4ba4SMatthias Ringwald * @author MCD Application Team 5*225f4ba4SMatthias Ringwald * @brief STM32F407xx Devices vector table for GCC based toolchains. 6*225f4ba4SMatthias Ringwald * This module performs: 7*225f4ba4SMatthias Ringwald * - Set the initial SP 8*225f4ba4SMatthias Ringwald * - Set the initial PC == Reset_Handler, 9*225f4ba4SMatthias Ringwald * - Set the vector table entries with the exceptions ISR address 10*225f4ba4SMatthias Ringwald * - Branches to main in the C library (which eventually 11*225f4ba4SMatthias Ringwald * calls main()). 12*225f4ba4SMatthias Ringwald * After Reset the Cortex-M4 processor is in Thread mode, 13*225f4ba4SMatthias Ringwald * priority is Privileged, and the Stack is set to Main. 14*225f4ba4SMatthias Ringwald ****************************************************************************** 15*225f4ba4SMatthias Ringwald * @attention 16*225f4ba4SMatthias Ringwald * 17*225f4ba4SMatthias Ringwald * <h2><center>© COPYRIGHT 2017 STMicroelectronics</center></h2> 18*225f4ba4SMatthias Ringwald * 19*225f4ba4SMatthias Ringwald * Redistribution and use in source and binary forms, with or without modification, 20*225f4ba4SMatthias Ringwald * are permitted provided that the following conditions are met: 21*225f4ba4SMatthias Ringwald * 1. Redistributions of source code must retain the above copyright notice, 22*225f4ba4SMatthias Ringwald * this list of conditions and the following disclaimer. 23*225f4ba4SMatthias Ringwald * 2. Redistributions in binary form must reproduce the above copyright notice, 24*225f4ba4SMatthias Ringwald * this list of conditions and the following disclaimer in the documentation 25*225f4ba4SMatthias Ringwald * and/or other materials provided with the distribution. 26*225f4ba4SMatthias Ringwald * 3. Neither the name of STMicroelectronics nor the names of its contributors 27*225f4ba4SMatthias Ringwald * may be used to endorse or promote products derived from this software 28*225f4ba4SMatthias Ringwald * without specific prior written permission. 29*225f4ba4SMatthias Ringwald * 30*225f4ba4SMatthias Ringwald * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 31*225f4ba4SMatthias Ringwald * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 32*225f4ba4SMatthias Ringwald * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 33*225f4ba4SMatthias Ringwald * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 34*225f4ba4SMatthias Ringwald * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 35*225f4ba4SMatthias Ringwald * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 36*225f4ba4SMatthias Ringwald * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 37*225f4ba4SMatthias Ringwald * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 38*225f4ba4SMatthias Ringwald * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 39*225f4ba4SMatthias Ringwald * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40*225f4ba4SMatthias Ringwald * 41*225f4ba4SMatthias Ringwald ****************************************************************************** 42*225f4ba4SMatthias Ringwald */ 43*225f4ba4SMatthias Ringwald 44*225f4ba4SMatthias Ringwald .syntax unified 45*225f4ba4SMatthias Ringwald .cpu cortex-m4 46*225f4ba4SMatthias Ringwald .fpu softvfp 47*225f4ba4SMatthias Ringwald .thumb 48*225f4ba4SMatthias Ringwald 49*225f4ba4SMatthias Ringwald.global g_pfnVectors 50*225f4ba4SMatthias Ringwald.global Default_Handler 51*225f4ba4SMatthias Ringwald 52*225f4ba4SMatthias Ringwald/* start address for the initialization values of the .data section. 53*225f4ba4SMatthias Ringwalddefined in linker script */ 54*225f4ba4SMatthias Ringwald.word _sidata 55*225f4ba4SMatthias Ringwald/* start address for the .data section. defined in linker script */ 56*225f4ba4SMatthias Ringwald.word _sdata 57*225f4ba4SMatthias Ringwald/* end address for the .data section. defined in linker script */ 58*225f4ba4SMatthias Ringwald.word _edata 59*225f4ba4SMatthias Ringwald/* start address for the .bss section. defined in linker script */ 60*225f4ba4SMatthias Ringwald.word _sbss 61*225f4ba4SMatthias Ringwald/* end address for the .bss section. defined in linker script */ 62*225f4ba4SMatthias Ringwald.word _ebss 63*225f4ba4SMatthias Ringwald/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ 64*225f4ba4SMatthias Ringwald 65*225f4ba4SMatthias Ringwald/** 66*225f4ba4SMatthias Ringwald * @brief This is the code that gets called when the processor first 67*225f4ba4SMatthias Ringwald * starts execution following a reset event. Only the absolutely 68*225f4ba4SMatthias Ringwald * necessary set is performed, after which the application 69*225f4ba4SMatthias Ringwald * supplied main() routine is called. 70*225f4ba4SMatthias Ringwald * @param None 71*225f4ba4SMatthias Ringwald * @retval : None 72*225f4ba4SMatthias Ringwald*/ 73*225f4ba4SMatthias Ringwald 74*225f4ba4SMatthias Ringwald .section .text.Reset_Handler 75*225f4ba4SMatthias Ringwald .weak Reset_Handler 76*225f4ba4SMatthias Ringwald .type Reset_Handler, %function 77*225f4ba4SMatthias RingwaldReset_Handler: 78*225f4ba4SMatthias Ringwald ldr sp, =_estack /* set stack pointer */ 79*225f4ba4SMatthias Ringwald 80*225f4ba4SMatthias Ringwald/* Copy the data segment initializers from flash to SRAM */ 81*225f4ba4SMatthias Ringwald movs r1, #0 82*225f4ba4SMatthias Ringwald b LoopCopyDataInit 83*225f4ba4SMatthias Ringwald 84*225f4ba4SMatthias RingwaldCopyDataInit: 85*225f4ba4SMatthias Ringwald ldr r3, =_sidata 86*225f4ba4SMatthias Ringwald ldr r3, [r3, r1] 87*225f4ba4SMatthias Ringwald str r3, [r0, r1] 88*225f4ba4SMatthias Ringwald adds r1, r1, #4 89*225f4ba4SMatthias Ringwald 90*225f4ba4SMatthias RingwaldLoopCopyDataInit: 91*225f4ba4SMatthias Ringwald ldr r0, =_sdata 92*225f4ba4SMatthias Ringwald ldr r3, =_edata 93*225f4ba4SMatthias Ringwald adds r2, r0, r1 94*225f4ba4SMatthias Ringwald cmp r2, r3 95*225f4ba4SMatthias Ringwald bcc CopyDataInit 96*225f4ba4SMatthias Ringwald ldr r2, =_sbss 97*225f4ba4SMatthias Ringwald b LoopFillZerobss 98*225f4ba4SMatthias Ringwald/* Zero fill the bss segment. */ 99*225f4ba4SMatthias RingwaldFillZerobss: 100*225f4ba4SMatthias Ringwald movs r3, #0 101*225f4ba4SMatthias Ringwald str r3, [r2], #4 102*225f4ba4SMatthias Ringwald 103*225f4ba4SMatthias RingwaldLoopFillZerobss: 104*225f4ba4SMatthias Ringwald ldr r3, = _ebss 105*225f4ba4SMatthias Ringwald cmp r2, r3 106*225f4ba4SMatthias Ringwald bcc FillZerobss 107*225f4ba4SMatthias Ringwald 108*225f4ba4SMatthias Ringwald/* Call the clock system intitialization function.*/ 109*225f4ba4SMatthias Ringwald bl SystemInit 110*225f4ba4SMatthias Ringwald/* Call static constructors */ 111*225f4ba4SMatthias Ringwald bl __libc_init_array 112*225f4ba4SMatthias Ringwald/* Call the application's entry point.*/ 113*225f4ba4SMatthias Ringwald bl main 114*225f4ba4SMatthias Ringwald bx lr 115*225f4ba4SMatthias Ringwald.size Reset_Handler, .-Reset_Handler 116*225f4ba4SMatthias Ringwald 117*225f4ba4SMatthias Ringwald/** 118*225f4ba4SMatthias Ringwald * @brief This is the code that gets called when the processor receives an 119*225f4ba4SMatthias Ringwald * unexpected interrupt. This simply enters an infinite loop, preserving 120*225f4ba4SMatthias Ringwald * the system state for examination by a debugger. 121*225f4ba4SMatthias Ringwald * @param None 122*225f4ba4SMatthias Ringwald * @retval None 123*225f4ba4SMatthias Ringwald*/ 124*225f4ba4SMatthias Ringwald .section .text.Default_Handler,"ax",%progbits 125*225f4ba4SMatthias RingwaldDefault_Handler: 126*225f4ba4SMatthias RingwaldInfinite_Loop: 127*225f4ba4SMatthias Ringwald b Infinite_Loop 128*225f4ba4SMatthias Ringwald .size Default_Handler, .-Default_Handler 129*225f4ba4SMatthias Ringwald/****************************************************************************** 130*225f4ba4SMatthias Ringwald* 131*225f4ba4SMatthias Ringwald* The minimal vector table for a Cortex M3. Note that the proper constructs 132*225f4ba4SMatthias Ringwald* must be placed on this to ensure that it ends up at physical address 133*225f4ba4SMatthias Ringwald* 0x0000.0000. 134*225f4ba4SMatthias Ringwald* 135*225f4ba4SMatthias Ringwald*******************************************************************************/ 136*225f4ba4SMatthias Ringwald .section .isr_vector,"a",%progbits 137*225f4ba4SMatthias Ringwald .type g_pfnVectors, %object 138*225f4ba4SMatthias Ringwald .size g_pfnVectors, .-g_pfnVectors 139*225f4ba4SMatthias Ringwald 140*225f4ba4SMatthias Ringwald 141*225f4ba4SMatthias Ringwaldg_pfnVectors: 142*225f4ba4SMatthias Ringwald .word _estack 143*225f4ba4SMatthias Ringwald .word Reset_Handler 144*225f4ba4SMatthias Ringwald .word NMI_Handler 145*225f4ba4SMatthias Ringwald .word HardFault_Handler 146*225f4ba4SMatthias Ringwald .word MemManage_Handler 147*225f4ba4SMatthias Ringwald .word BusFault_Handler 148*225f4ba4SMatthias Ringwald .word UsageFault_Handler 149*225f4ba4SMatthias Ringwald .word 0 150*225f4ba4SMatthias Ringwald .word 0 151*225f4ba4SMatthias Ringwald .word 0 152*225f4ba4SMatthias Ringwald .word 0 153*225f4ba4SMatthias Ringwald .word SVC_Handler 154*225f4ba4SMatthias Ringwald .word DebugMon_Handler 155*225f4ba4SMatthias Ringwald .word 0 156*225f4ba4SMatthias Ringwald .word PendSV_Handler 157*225f4ba4SMatthias Ringwald .word SysTick_Handler 158*225f4ba4SMatthias Ringwald 159*225f4ba4SMatthias Ringwald /* External Interrupts */ 160*225f4ba4SMatthias Ringwald .word WWDG_IRQHandler /* Window WatchDog */ 161*225f4ba4SMatthias Ringwald .word PVD_IRQHandler /* PVD through EXTI Line detection */ 162*225f4ba4SMatthias Ringwald .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ 163*225f4ba4SMatthias Ringwald .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ 164*225f4ba4SMatthias Ringwald .word FLASH_IRQHandler /* FLASH */ 165*225f4ba4SMatthias Ringwald .word RCC_IRQHandler /* RCC */ 166*225f4ba4SMatthias Ringwald .word EXTI0_IRQHandler /* EXTI Line0 */ 167*225f4ba4SMatthias Ringwald .word EXTI1_IRQHandler /* EXTI Line1 */ 168*225f4ba4SMatthias Ringwald .word EXTI2_IRQHandler /* EXTI Line2 */ 169*225f4ba4SMatthias Ringwald .word EXTI3_IRQHandler /* EXTI Line3 */ 170*225f4ba4SMatthias Ringwald .word EXTI4_IRQHandler /* EXTI Line4 */ 171*225f4ba4SMatthias Ringwald .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ 172*225f4ba4SMatthias Ringwald .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ 173*225f4ba4SMatthias Ringwald .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ 174*225f4ba4SMatthias Ringwald .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ 175*225f4ba4SMatthias Ringwald .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ 176*225f4ba4SMatthias Ringwald .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ 177*225f4ba4SMatthias Ringwald .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ 178*225f4ba4SMatthias Ringwald .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ 179*225f4ba4SMatthias Ringwald .word CAN1_TX_IRQHandler /* CAN1 TX */ 180*225f4ba4SMatthias Ringwald .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ 181*225f4ba4SMatthias Ringwald .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ 182*225f4ba4SMatthias Ringwald .word CAN1_SCE_IRQHandler /* CAN1 SCE */ 183*225f4ba4SMatthias Ringwald .word EXTI9_5_IRQHandler /* External Line[9:5]s */ 184*225f4ba4SMatthias Ringwald .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ 185*225f4ba4SMatthias Ringwald .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ 186*225f4ba4SMatthias Ringwald .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ 187*225f4ba4SMatthias Ringwald .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ 188*225f4ba4SMatthias Ringwald .word TIM2_IRQHandler /* TIM2 */ 189*225f4ba4SMatthias Ringwald .word TIM3_IRQHandler /* TIM3 */ 190*225f4ba4SMatthias Ringwald .word TIM4_IRQHandler /* TIM4 */ 191*225f4ba4SMatthias Ringwald .word I2C1_EV_IRQHandler /* I2C1 Event */ 192*225f4ba4SMatthias Ringwald .word I2C1_ER_IRQHandler /* I2C1 Error */ 193*225f4ba4SMatthias Ringwald .word I2C2_EV_IRQHandler /* I2C2 Event */ 194*225f4ba4SMatthias Ringwald .word I2C2_ER_IRQHandler /* I2C2 Error */ 195*225f4ba4SMatthias Ringwald .word SPI1_IRQHandler /* SPI1 */ 196*225f4ba4SMatthias Ringwald .word SPI2_IRQHandler /* SPI2 */ 197*225f4ba4SMatthias Ringwald .word USART1_IRQHandler /* USART1 */ 198*225f4ba4SMatthias Ringwald .word USART2_IRQHandler /* USART2 */ 199*225f4ba4SMatthias Ringwald .word USART3_IRQHandler /* USART3 */ 200*225f4ba4SMatthias Ringwald .word EXTI15_10_IRQHandler /* External Line[15:10]s */ 201*225f4ba4SMatthias Ringwald .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ 202*225f4ba4SMatthias Ringwald .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ 203*225f4ba4SMatthias Ringwald .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ 204*225f4ba4SMatthias Ringwald .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ 205*225f4ba4SMatthias Ringwald .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ 206*225f4ba4SMatthias Ringwald .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ 207*225f4ba4SMatthias Ringwald .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ 208*225f4ba4SMatthias Ringwald .word FSMC_IRQHandler /* FSMC */ 209*225f4ba4SMatthias Ringwald .word SDIO_IRQHandler /* SDIO */ 210*225f4ba4SMatthias Ringwald .word TIM5_IRQHandler /* TIM5 */ 211*225f4ba4SMatthias Ringwald .word SPI3_IRQHandler /* SPI3 */ 212*225f4ba4SMatthias Ringwald .word UART4_IRQHandler /* UART4 */ 213*225f4ba4SMatthias Ringwald .word UART5_IRQHandler /* UART5 */ 214*225f4ba4SMatthias Ringwald .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ 215*225f4ba4SMatthias Ringwald .word TIM7_IRQHandler /* TIM7 */ 216*225f4ba4SMatthias Ringwald .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ 217*225f4ba4SMatthias Ringwald .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ 218*225f4ba4SMatthias Ringwald .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ 219*225f4ba4SMatthias Ringwald .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ 220*225f4ba4SMatthias Ringwald .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ 221*225f4ba4SMatthias Ringwald .word ETH_IRQHandler /* Ethernet */ 222*225f4ba4SMatthias Ringwald .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ 223*225f4ba4SMatthias Ringwald .word CAN2_TX_IRQHandler /* CAN2 TX */ 224*225f4ba4SMatthias Ringwald .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ 225*225f4ba4SMatthias Ringwald .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ 226*225f4ba4SMatthias Ringwald .word CAN2_SCE_IRQHandler /* CAN2 SCE */ 227*225f4ba4SMatthias Ringwald .word OTG_FS_IRQHandler /* USB OTG FS */ 228*225f4ba4SMatthias Ringwald .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ 229*225f4ba4SMatthias Ringwald .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ 230*225f4ba4SMatthias Ringwald .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ 231*225f4ba4SMatthias Ringwald .word USART6_IRQHandler /* USART6 */ 232*225f4ba4SMatthias Ringwald .word I2C3_EV_IRQHandler /* I2C3 event */ 233*225f4ba4SMatthias Ringwald .word I2C3_ER_IRQHandler /* I2C3 error */ 234*225f4ba4SMatthias Ringwald .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ 235*225f4ba4SMatthias Ringwald .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ 236*225f4ba4SMatthias Ringwald .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ 237*225f4ba4SMatthias Ringwald .word OTG_HS_IRQHandler /* USB OTG HS */ 238*225f4ba4SMatthias Ringwald .word DCMI_IRQHandler /* DCMI */ 239*225f4ba4SMatthias Ringwald .word 0 /* CRYP crypto */ 240*225f4ba4SMatthias Ringwald .word HASH_RNG_IRQHandler /* Hash and Rng */ 241*225f4ba4SMatthias Ringwald .word FPU_IRQHandler /* FPU */ 242*225f4ba4SMatthias Ringwald 243*225f4ba4SMatthias Ringwald 244*225f4ba4SMatthias Ringwald/******************************************************************************* 245*225f4ba4SMatthias Ringwald* 246*225f4ba4SMatthias Ringwald* Provide weak aliases for each Exception handler to the Default_Handler. 247*225f4ba4SMatthias Ringwald* As they are weak aliases, any function with the same name will override 248*225f4ba4SMatthias Ringwald* this definition. 249*225f4ba4SMatthias Ringwald* 250*225f4ba4SMatthias Ringwald*******************************************************************************/ 251*225f4ba4SMatthias Ringwald .weak NMI_Handler 252*225f4ba4SMatthias Ringwald .thumb_set NMI_Handler,Default_Handler 253*225f4ba4SMatthias Ringwald 254*225f4ba4SMatthias Ringwald .weak HardFault_Handler 255*225f4ba4SMatthias Ringwald .thumb_set HardFault_Handler,Default_Handler 256*225f4ba4SMatthias Ringwald 257*225f4ba4SMatthias Ringwald .weak MemManage_Handler 258*225f4ba4SMatthias Ringwald .thumb_set MemManage_Handler,Default_Handler 259*225f4ba4SMatthias Ringwald 260*225f4ba4SMatthias Ringwald .weak BusFault_Handler 261*225f4ba4SMatthias Ringwald .thumb_set BusFault_Handler,Default_Handler 262*225f4ba4SMatthias Ringwald 263*225f4ba4SMatthias Ringwald .weak UsageFault_Handler 264*225f4ba4SMatthias Ringwald .thumb_set UsageFault_Handler,Default_Handler 265*225f4ba4SMatthias Ringwald 266*225f4ba4SMatthias Ringwald .weak SVC_Handler 267*225f4ba4SMatthias Ringwald .thumb_set SVC_Handler,Default_Handler 268*225f4ba4SMatthias Ringwald 269*225f4ba4SMatthias Ringwald .weak DebugMon_Handler 270*225f4ba4SMatthias Ringwald .thumb_set DebugMon_Handler,Default_Handler 271*225f4ba4SMatthias Ringwald 272*225f4ba4SMatthias Ringwald .weak PendSV_Handler 273*225f4ba4SMatthias Ringwald .thumb_set PendSV_Handler,Default_Handler 274*225f4ba4SMatthias Ringwald 275*225f4ba4SMatthias Ringwald .weak SysTick_Handler 276*225f4ba4SMatthias Ringwald .thumb_set SysTick_Handler,Default_Handler 277*225f4ba4SMatthias Ringwald 278*225f4ba4SMatthias Ringwald .weak WWDG_IRQHandler 279*225f4ba4SMatthias Ringwald .thumb_set WWDG_IRQHandler,Default_Handler 280*225f4ba4SMatthias Ringwald 281*225f4ba4SMatthias Ringwald .weak PVD_IRQHandler 282*225f4ba4SMatthias Ringwald .thumb_set PVD_IRQHandler,Default_Handler 283*225f4ba4SMatthias Ringwald 284*225f4ba4SMatthias Ringwald .weak TAMP_STAMP_IRQHandler 285*225f4ba4SMatthias Ringwald .thumb_set TAMP_STAMP_IRQHandler,Default_Handler 286*225f4ba4SMatthias Ringwald 287*225f4ba4SMatthias Ringwald .weak RTC_WKUP_IRQHandler 288*225f4ba4SMatthias Ringwald .thumb_set RTC_WKUP_IRQHandler,Default_Handler 289*225f4ba4SMatthias Ringwald 290*225f4ba4SMatthias Ringwald .weak FLASH_IRQHandler 291*225f4ba4SMatthias Ringwald .thumb_set FLASH_IRQHandler,Default_Handler 292*225f4ba4SMatthias Ringwald 293*225f4ba4SMatthias Ringwald .weak RCC_IRQHandler 294*225f4ba4SMatthias Ringwald .thumb_set RCC_IRQHandler,Default_Handler 295*225f4ba4SMatthias Ringwald 296*225f4ba4SMatthias Ringwald .weak EXTI0_IRQHandler 297*225f4ba4SMatthias Ringwald .thumb_set EXTI0_IRQHandler,Default_Handler 298*225f4ba4SMatthias Ringwald 299*225f4ba4SMatthias Ringwald .weak EXTI1_IRQHandler 300*225f4ba4SMatthias Ringwald .thumb_set EXTI1_IRQHandler,Default_Handler 301*225f4ba4SMatthias Ringwald 302*225f4ba4SMatthias Ringwald .weak EXTI2_IRQHandler 303*225f4ba4SMatthias Ringwald .thumb_set EXTI2_IRQHandler,Default_Handler 304*225f4ba4SMatthias Ringwald 305*225f4ba4SMatthias Ringwald .weak EXTI3_IRQHandler 306*225f4ba4SMatthias Ringwald .thumb_set EXTI3_IRQHandler,Default_Handler 307*225f4ba4SMatthias Ringwald 308*225f4ba4SMatthias Ringwald .weak EXTI4_IRQHandler 309*225f4ba4SMatthias Ringwald .thumb_set EXTI4_IRQHandler,Default_Handler 310*225f4ba4SMatthias Ringwald 311*225f4ba4SMatthias Ringwald .weak DMA1_Stream0_IRQHandler 312*225f4ba4SMatthias Ringwald .thumb_set DMA1_Stream0_IRQHandler,Default_Handler 313*225f4ba4SMatthias Ringwald 314*225f4ba4SMatthias Ringwald .weak DMA1_Stream1_IRQHandler 315*225f4ba4SMatthias Ringwald .thumb_set DMA1_Stream1_IRQHandler,Default_Handler 316*225f4ba4SMatthias Ringwald 317*225f4ba4SMatthias Ringwald .weak DMA1_Stream2_IRQHandler 318*225f4ba4SMatthias Ringwald .thumb_set DMA1_Stream2_IRQHandler,Default_Handler 319*225f4ba4SMatthias Ringwald 320*225f4ba4SMatthias Ringwald .weak DMA1_Stream3_IRQHandler 321*225f4ba4SMatthias Ringwald .thumb_set DMA1_Stream3_IRQHandler,Default_Handler 322*225f4ba4SMatthias Ringwald 323*225f4ba4SMatthias Ringwald .weak DMA1_Stream4_IRQHandler 324*225f4ba4SMatthias Ringwald .thumb_set DMA1_Stream4_IRQHandler,Default_Handler 325*225f4ba4SMatthias Ringwald 326*225f4ba4SMatthias Ringwald .weak DMA1_Stream5_IRQHandler 327*225f4ba4SMatthias Ringwald .thumb_set DMA1_Stream5_IRQHandler,Default_Handler 328*225f4ba4SMatthias Ringwald 329*225f4ba4SMatthias Ringwald .weak DMA1_Stream6_IRQHandler 330*225f4ba4SMatthias Ringwald .thumb_set DMA1_Stream6_IRQHandler,Default_Handler 331*225f4ba4SMatthias Ringwald 332*225f4ba4SMatthias Ringwald .weak ADC_IRQHandler 333*225f4ba4SMatthias Ringwald .thumb_set ADC_IRQHandler,Default_Handler 334*225f4ba4SMatthias Ringwald 335*225f4ba4SMatthias Ringwald .weak CAN1_TX_IRQHandler 336*225f4ba4SMatthias Ringwald .thumb_set CAN1_TX_IRQHandler,Default_Handler 337*225f4ba4SMatthias Ringwald 338*225f4ba4SMatthias Ringwald .weak CAN1_RX0_IRQHandler 339*225f4ba4SMatthias Ringwald .thumb_set CAN1_RX0_IRQHandler,Default_Handler 340*225f4ba4SMatthias Ringwald 341*225f4ba4SMatthias Ringwald .weak CAN1_RX1_IRQHandler 342*225f4ba4SMatthias Ringwald .thumb_set CAN1_RX1_IRQHandler,Default_Handler 343*225f4ba4SMatthias Ringwald 344*225f4ba4SMatthias Ringwald .weak CAN1_SCE_IRQHandler 345*225f4ba4SMatthias Ringwald .thumb_set CAN1_SCE_IRQHandler,Default_Handler 346*225f4ba4SMatthias Ringwald 347*225f4ba4SMatthias Ringwald .weak EXTI9_5_IRQHandler 348*225f4ba4SMatthias Ringwald .thumb_set EXTI9_5_IRQHandler,Default_Handler 349*225f4ba4SMatthias Ringwald 350*225f4ba4SMatthias Ringwald .weak TIM1_BRK_TIM9_IRQHandler 351*225f4ba4SMatthias Ringwald .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler 352*225f4ba4SMatthias Ringwald 353*225f4ba4SMatthias Ringwald .weak TIM1_UP_TIM10_IRQHandler 354*225f4ba4SMatthias Ringwald .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler 355*225f4ba4SMatthias Ringwald 356*225f4ba4SMatthias Ringwald .weak TIM1_TRG_COM_TIM11_IRQHandler 357*225f4ba4SMatthias Ringwald .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler 358*225f4ba4SMatthias Ringwald 359*225f4ba4SMatthias Ringwald .weak TIM1_CC_IRQHandler 360*225f4ba4SMatthias Ringwald .thumb_set TIM1_CC_IRQHandler,Default_Handler 361*225f4ba4SMatthias Ringwald 362*225f4ba4SMatthias Ringwald .weak TIM2_IRQHandler 363*225f4ba4SMatthias Ringwald .thumb_set TIM2_IRQHandler,Default_Handler 364*225f4ba4SMatthias Ringwald 365*225f4ba4SMatthias Ringwald .weak TIM3_IRQHandler 366*225f4ba4SMatthias Ringwald .thumb_set TIM3_IRQHandler,Default_Handler 367*225f4ba4SMatthias Ringwald 368*225f4ba4SMatthias Ringwald .weak TIM4_IRQHandler 369*225f4ba4SMatthias Ringwald .thumb_set TIM4_IRQHandler,Default_Handler 370*225f4ba4SMatthias Ringwald 371*225f4ba4SMatthias Ringwald .weak I2C1_EV_IRQHandler 372*225f4ba4SMatthias Ringwald .thumb_set I2C1_EV_IRQHandler,Default_Handler 373*225f4ba4SMatthias Ringwald 374*225f4ba4SMatthias Ringwald .weak I2C1_ER_IRQHandler 375*225f4ba4SMatthias Ringwald .thumb_set I2C1_ER_IRQHandler,Default_Handler 376*225f4ba4SMatthias Ringwald 377*225f4ba4SMatthias Ringwald .weak I2C2_EV_IRQHandler 378*225f4ba4SMatthias Ringwald .thumb_set I2C2_EV_IRQHandler,Default_Handler 379*225f4ba4SMatthias Ringwald 380*225f4ba4SMatthias Ringwald .weak I2C2_ER_IRQHandler 381*225f4ba4SMatthias Ringwald .thumb_set I2C2_ER_IRQHandler,Default_Handler 382*225f4ba4SMatthias Ringwald 383*225f4ba4SMatthias Ringwald .weak SPI1_IRQHandler 384*225f4ba4SMatthias Ringwald .thumb_set SPI1_IRQHandler,Default_Handler 385*225f4ba4SMatthias Ringwald 386*225f4ba4SMatthias Ringwald .weak SPI2_IRQHandler 387*225f4ba4SMatthias Ringwald .thumb_set SPI2_IRQHandler,Default_Handler 388*225f4ba4SMatthias Ringwald 389*225f4ba4SMatthias Ringwald .weak USART1_IRQHandler 390*225f4ba4SMatthias Ringwald .thumb_set USART1_IRQHandler,Default_Handler 391*225f4ba4SMatthias Ringwald 392*225f4ba4SMatthias Ringwald .weak USART2_IRQHandler 393*225f4ba4SMatthias Ringwald .thumb_set USART2_IRQHandler,Default_Handler 394*225f4ba4SMatthias Ringwald 395*225f4ba4SMatthias Ringwald .weak USART3_IRQHandler 396*225f4ba4SMatthias Ringwald .thumb_set USART3_IRQHandler,Default_Handler 397*225f4ba4SMatthias Ringwald 398*225f4ba4SMatthias Ringwald .weak EXTI15_10_IRQHandler 399*225f4ba4SMatthias Ringwald .thumb_set EXTI15_10_IRQHandler,Default_Handler 400*225f4ba4SMatthias Ringwald 401*225f4ba4SMatthias Ringwald .weak RTC_Alarm_IRQHandler 402*225f4ba4SMatthias Ringwald .thumb_set RTC_Alarm_IRQHandler,Default_Handler 403*225f4ba4SMatthias Ringwald 404*225f4ba4SMatthias Ringwald .weak OTG_FS_WKUP_IRQHandler 405*225f4ba4SMatthias Ringwald .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler 406*225f4ba4SMatthias Ringwald 407*225f4ba4SMatthias Ringwald .weak TIM8_BRK_TIM12_IRQHandler 408*225f4ba4SMatthias Ringwald .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler 409*225f4ba4SMatthias Ringwald 410*225f4ba4SMatthias Ringwald .weak TIM8_UP_TIM13_IRQHandler 411*225f4ba4SMatthias Ringwald .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler 412*225f4ba4SMatthias Ringwald 413*225f4ba4SMatthias Ringwald .weak TIM8_TRG_COM_TIM14_IRQHandler 414*225f4ba4SMatthias Ringwald .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler 415*225f4ba4SMatthias Ringwald 416*225f4ba4SMatthias Ringwald .weak TIM8_CC_IRQHandler 417*225f4ba4SMatthias Ringwald .thumb_set TIM8_CC_IRQHandler,Default_Handler 418*225f4ba4SMatthias Ringwald 419*225f4ba4SMatthias Ringwald .weak DMA1_Stream7_IRQHandler 420*225f4ba4SMatthias Ringwald .thumb_set DMA1_Stream7_IRQHandler,Default_Handler 421*225f4ba4SMatthias Ringwald 422*225f4ba4SMatthias Ringwald .weak FSMC_IRQHandler 423*225f4ba4SMatthias Ringwald .thumb_set FSMC_IRQHandler,Default_Handler 424*225f4ba4SMatthias Ringwald 425*225f4ba4SMatthias Ringwald .weak SDIO_IRQHandler 426*225f4ba4SMatthias Ringwald .thumb_set SDIO_IRQHandler,Default_Handler 427*225f4ba4SMatthias Ringwald 428*225f4ba4SMatthias Ringwald .weak TIM5_IRQHandler 429*225f4ba4SMatthias Ringwald .thumb_set TIM5_IRQHandler,Default_Handler 430*225f4ba4SMatthias Ringwald 431*225f4ba4SMatthias Ringwald .weak SPI3_IRQHandler 432*225f4ba4SMatthias Ringwald .thumb_set SPI3_IRQHandler,Default_Handler 433*225f4ba4SMatthias Ringwald 434*225f4ba4SMatthias Ringwald .weak UART4_IRQHandler 435*225f4ba4SMatthias Ringwald .thumb_set UART4_IRQHandler,Default_Handler 436*225f4ba4SMatthias Ringwald 437*225f4ba4SMatthias Ringwald .weak UART5_IRQHandler 438*225f4ba4SMatthias Ringwald .thumb_set UART5_IRQHandler,Default_Handler 439*225f4ba4SMatthias Ringwald 440*225f4ba4SMatthias Ringwald .weak TIM6_DAC_IRQHandler 441*225f4ba4SMatthias Ringwald .thumb_set TIM6_DAC_IRQHandler,Default_Handler 442*225f4ba4SMatthias Ringwald 443*225f4ba4SMatthias Ringwald .weak TIM7_IRQHandler 444*225f4ba4SMatthias Ringwald .thumb_set TIM7_IRQHandler,Default_Handler 445*225f4ba4SMatthias Ringwald 446*225f4ba4SMatthias Ringwald .weak DMA2_Stream0_IRQHandler 447*225f4ba4SMatthias Ringwald .thumb_set DMA2_Stream0_IRQHandler,Default_Handler 448*225f4ba4SMatthias Ringwald 449*225f4ba4SMatthias Ringwald .weak DMA2_Stream1_IRQHandler 450*225f4ba4SMatthias Ringwald .thumb_set DMA2_Stream1_IRQHandler,Default_Handler 451*225f4ba4SMatthias Ringwald 452*225f4ba4SMatthias Ringwald .weak DMA2_Stream2_IRQHandler 453*225f4ba4SMatthias Ringwald .thumb_set DMA2_Stream2_IRQHandler,Default_Handler 454*225f4ba4SMatthias Ringwald 455*225f4ba4SMatthias Ringwald .weak DMA2_Stream3_IRQHandler 456*225f4ba4SMatthias Ringwald .thumb_set DMA2_Stream3_IRQHandler,Default_Handler 457*225f4ba4SMatthias Ringwald 458*225f4ba4SMatthias Ringwald .weak DMA2_Stream4_IRQHandler 459*225f4ba4SMatthias Ringwald .thumb_set DMA2_Stream4_IRQHandler,Default_Handler 460*225f4ba4SMatthias Ringwald 461*225f4ba4SMatthias Ringwald .weak ETH_IRQHandler 462*225f4ba4SMatthias Ringwald .thumb_set ETH_IRQHandler,Default_Handler 463*225f4ba4SMatthias Ringwald 464*225f4ba4SMatthias Ringwald .weak ETH_WKUP_IRQHandler 465*225f4ba4SMatthias Ringwald .thumb_set ETH_WKUP_IRQHandler,Default_Handler 466*225f4ba4SMatthias Ringwald 467*225f4ba4SMatthias Ringwald .weak CAN2_TX_IRQHandler 468*225f4ba4SMatthias Ringwald .thumb_set CAN2_TX_IRQHandler,Default_Handler 469*225f4ba4SMatthias Ringwald 470*225f4ba4SMatthias Ringwald .weak CAN2_RX0_IRQHandler 471*225f4ba4SMatthias Ringwald .thumb_set CAN2_RX0_IRQHandler,Default_Handler 472*225f4ba4SMatthias Ringwald 473*225f4ba4SMatthias Ringwald .weak CAN2_RX1_IRQHandler 474*225f4ba4SMatthias Ringwald .thumb_set CAN2_RX1_IRQHandler,Default_Handler 475*225f4ba4SMatthias Ringwald 476*225f4ba4SMatthias Ringwald .weak CAN2_SCE_IRQHandler 477*225f4ba4SMatthias Ringwald .thumb_set CAN2_SCE_IRQHandler,Default_Handler 478*225f4ba4SMatthias Ringwald 479*225f4ba4SMatthias Ringwald .weak OTG_FS_IRQHandler 480*225f4ba4SMatthias Ringwald .thumb_set OTG_FS_IRQHandler,Default_Handler 481*225f4ba4SMatthias Ringwald 482*225f4ba4SMatthias Ringwald .weak DMA2_Stream5_IRQHandler 483*225f4ba4SMatthias Ringwald .thumb_set DMA2_Stream5_IRQHandler,Default_Handler 484*225f4ba4SMatthias Ringwald 485*225f4ba4SMatthias Ringwald .weak DMA2_Stream6_IRQHandler 486*225f4ba4SMatthias Ringwald .thumb_set DMA2_Stream6_IRQHandler,Default_Handler 487*225f4ba4SMatthias Ringwald 488*225f4ba4SMatthias Ringwald .weak DMA2_Stream7_IRQHandler 489*225f4ba4SMatthias Ringwald .thumb_set DMA2_Stream7_IRQHandler,Default_Handler 490*225f4ba4SMatthias Ringwald 491*225f4ba4SMatthias Ringwald .weak USART6_IRQHandler 492*225f4ba4SMatthias Ringwald .thumb_set USART6_IRQHandler,Default_Handler 493*225f4ba4SMatthias Ringwald 494*225f4ba4SMatthias Ringwald .weak I2C3_EV_IRQHandler 495*225f4ba4SMatthias Ringwald .thumb_set I2C3_EV_IRQHandler,Default_Handler 496*225f4ba4SMatthias Ringwald 497*225f4ba4SMatthias Ringwald .weak I2C3_ER_IRQHandler 498*225f4ba4SMatthias Ringwald .thumb_set I2C3_ER_IRQHandler,Default_Handler 499*225f4ba4SMatthias Ringwald 500*225f4ba4SMatthias Ringwald .weak OTG_HS_EP1_OUT_IRQHandler 501*225f4ba4SMatthias Ringwald .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler 502*225f4ba4SMatthias Ringwald 503*225f4ba4SMatthias Ringwald .weak OTG_HS_EP1_IN_IRQHandler 504*225f4ba4SMatthias Ringwald .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler 505*225f4ba4SMatthias Ringwald 506*225f4ba4SMatthias Ringwald .weak OTG_HS_WKUP_IRQHandler 507*225f4ba4SMatthias Ringwald .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler 508*225f4ba4SMatthias Ringwald 509*225f4ba4SMatthias Ringwald .weak OTG_HS_IRQHandler 510*225f4ba4SMatthias Ringwald .thumb_set OTG_HS_IRQHandler,Default_Handler 511*225f4ba4SMatthias Ringwald 512*225f4ba4SMatthias Ringwald .weak DCMI_IRQHandler 513*225f4ba4SMatthias Ringwald .thumb_set DCMI_IRQHandler,Default_Handler 514*225f4ba4SMatthias Ringwald 515*225f4ba4SMatthias Ringwald .weak HASH_RNG_IRQHandler 516*225f4ba4SMatthias Ringwald .thumb_set HASH_RNG_IRQHandler,Default_Handler 517*225f4ba4SMatthias Ringwald 518*225f4ba4SMatthias Ringwald .weak FPU_IRQHandler 519*225f4ba4SMatthias Ringwald .thumb_set FPU_IRQHandler,Default_Handler 520*225f4ba4SMatthias Ringwald 521*225f4ba4SMatthias Ringwald/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 522