4444 */
4545
4646 .syntax unified
47- #if defined(MCU_SERIES_M7 )
47+ #if defined(MCU_SERIES_F7 )
4848 .cpu cortex-m7
49- #else
49+ #elif defined(MCU_SERIES_F4) || defined(MCU_SERIES_L4)
5050 .cpu cortex-m4
51+ #else
52+ #error "Unknown MCU Series"
5153#endif
5254 .fpu softvfp
5355 .thumb
@@ -164,7 +166,11 @@ g_pfnVectors:
164166
165167 /* External Interrupts */
166168 .word WWDG_IRQHandler /* Window WatchDog */
169+ #if defined(MCU_SERIES_L4)
170+ .word PVD_PVM_IRQHandler /* PVD and PVM through EXTI line detection */
171+ #else
167172 .word PVD_IRQHandler /* PVD through EXTI Line detection */
173+ #endif
168174 .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */
169175 .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */
170176 .word FLASH_IRQHandler /* FLASH */
@@ -174,6 +180,16 @@ g_pfnVectors:
174180 .word EXTI2_IRQHandler /* EXTI Line2 */
175181 .word EXTI3_IRQHandler /* EXTI Line3 */
176182 .word EXTI4_IRQHandler /* EXTI Line4 */
183+ #if defined(MCU_SERIES_L4)
184+ .word DMA1_Channel1_IRQHandler /* DMA1 Channel 1 */
185+ .word DMA1_Channel2_IRQHandler /* DMA1 Channel 2 */
186+ .word DMA1_Channel3_IRQHandler /* DMA1 Channel 3 */
187+ .word DMA1_Channel4_IRQHandler /* DMA1 Channel 4 */
188+ .word DMA1_Channel5_IRQHandler /* DMA1 Channel 5 */
189+ .word DMA1_Channel6_IRQHandler /* DMA1 Channel 6 */
190+ .word DMA1_Channel7_IRQHandler /* DMA1 Channel 7 */
191+ .word ADC1_2_IRQHandler /* ADC1 and ADC2 */
192+ #else
177193 .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */
178194 .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */
179195 .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */
@@ -182,14 +198,21 @@ g_pfnVectors:
182198 .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */
183199 .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */
184200 .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */
201+ #endif
185202 .word CAN1_TX_IRQHandler /* CAN1 TX */
186203 .word CAN1_RX0_IRQHandler /* CAN1 RX0 */
187204 .word CAN1_RX1_IRQHandler /* CAN1 RX1 */
188205 .word CAN1_SCE_IRQHandler /* CAN1 SCE */
189206 .word EXTI9_5_IRQHandler /* External Line[9:5]s */
207+ #if defined(MCU_SERIES_L4)
208+ .word TIM1_BRK_TIM15_IRQHandler /* TIM1 Break and TIM15 */
209+ .word TIM1_UP_TIM16_IRQHandler /* TIM1 Update and TIM16 */
210+ .word TIM1_TRG_COM_TIM17_IRQHandler /* TIM1 Trigger and Commutation and TIM17 */
211+ #else
190212 .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */
191213 .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */
192214 .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */
215+ #endif
193216 .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */
194217 .word TIM2_IRQHandler /* TIM2 */
195218 .word TIM3_IRQHandler /* TIM3 */
@@ -205,13 +228,24 @@ g_pfnVectors:
205228 .word USART3_IRQHandler /* USART3 */
206229 .word EXTI15_10_IRQHandler /* External Line[15:10]s */
207230 .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */
231+ #if defined(MCU_SERIES_L4)
232+ .word DFSDM3_IRQHandler /* Digital filter for sigma delta modulator 3 */
233+ .word TIM8_BRK_IRQHandler /* TIM8 Break */
234+ .word TIM8_UP_IRQHandler /* TIM8 Update */
235+ .word TIM8_TRG_COM_IRQHandler /* TIM8 Trigger and Commutation */
236+ #else
208237 .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */
209238 .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */
210239 .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */
211240 .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */
241+ #endif
212242 .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */
243+ #if defined(MCU_SERIES_L4)
244+ .word ADC3_IRQHandler /* ADC3 global interrupt */
245+ #else
213246 .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */
214- #if defined(MCU_SERIES_F7)
247+ #endif
248+ #if defined(MCU_SERIES_F7) || defined(MCU_SERIES_L4)
215249 .word FMC_IRQHandler /* FMC */
216250 .word SDMMC1_IRQHandler /* SDMMC1 */
217251#else
@@ -224,6 +258,19 @@ g_pfnVectors:
224258 .word UART5_IRQHandler /* UART5 */
225259 .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */
226260 .word TIM7_IRQHandler /* TIM7 */
261+ #if defined(MCU_SERIES_L4)
262+ .word DMA2_Channel1_IRQHandler /* DMA2 Channel 1 */
263+ .word DMA2_Channel2_IRQHandler /* DMA2 Channel 2 */
264+ .word DMA2_Channel3_IRQHandler /* DMA2 Channel 3 */
265+ .word DMA2_Channel4_IRQHandler /* DMA2 Channel 4 */
266+ .word DMA2_Channel5_IRQHandler /* DMA2 Channel 5 */
267+ .word DFSDM0_IRQHandler /* Digital filter for sigma delta modulator 0 */
268+ .word DFSDM1_IRQHandler /* Digital filter for sigma delta modulator 1 */
269+ .word DFSDM2_IRQHandler /* Digital filter for sigma delta modulator 2 */
270+ .word COMP_IRQHandler /* Comporator thru EXTI line */
271+ .word LPTIM1_IRQHandler /* Low power timer 1 */
272+ .word LPTIM2_IRQHandler /* Low power timer 2 */
273+ #else
227274 .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */
228275 .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */
229276 .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */
@@ -235,20 +282,40 @@ g_pfnVectors:
235282 .word CAN2_RX0_IRQHandler /* CAN2 RX0 */
236283 .word CAN2_RX1_IRQHandler /* CAN2 RX1 */
237284 .word CAN2_SCE_IRQHandler /* CAN2 SCE */
285+ #endif
238286 .word OTG_FS_IRQHandler /* USB OTG FS */
287+ #if defined(MCU_SERIES_L4)
288+ .word DMA2_Channel6_IRQHandler /* DMA2 Channel 6 */
289+ .word DMA2_Channel7_IRQHandler /* DMA2 Channel 7 */
290+ .word LPUART1_IRQHandler /* Low power UART */
291+ .word QUADSPI_IRQHandler /* Quad SPI */
292+ #else
239293 .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */
240294 .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */
241295 .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */
242296 .word USART6_IRQHandler /* USART6 */
297+ #endif
243298 .word I2C3_EV_IRQHandler /* I2C3 event */
244299 .word I2C3_ER_IRQHandler /* I2C3 error */
300+ #if defined(MCU_SERIES_L4)
301+ .word SAI1_IRQHandler /* Serial audio interface 1 */
302+ .word SAI2_IRQHandler /* Serial audio interface 2 */
303+ .word SWPMI1_IRQHandler /* Single wire protocole 1 */
304+ .word TSC_IRQHandler /* Touch sensig controller */
305+ .word LCD_IRQHandler /* LCD */
306+ #else
245307 .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */
246308 .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */
247309 .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */
248310 .word OTG_HS_IRQHandler /* USB OTG HS */
249311 .word DCMI_IRQHandler /* DCMI */
312+ #endif
250313 .word 0 /* CRYP crypto */
314+ #if defined(MCU_SERIES_L4)
315+ .word RNG_IRQHandler /* Random number generator */
316+ #else
251317 .word HASH_RNG_IRQHandler /* Hash and Rng */
318+ #endif
252319 .word FPU_IRQHandler /* FPU */
253320
254321#if defined(MCU_SERIES_F7)
@@ -307,8 +374,13 @@ g_pfnVectors:
307374 .weak WWDG_IRQHandler
308375 .thumb_set WWDG_IRQHandler,Default_Handler
309376
377+ #if defined(MCU_SERIES_L4)
378+ .weak PVD_PVM_IRQHandler
379+ .thumb_set PVD_PVM_IRQHandler,Default_Handler
380+ #else
310381 .weak PVD_IRQHandler
311382 .thumb_set PVD_IRQHandler,Default_Handler
383+ #endif
312384
313385 .weak TAMP_STAMP_IRQHandler
314386 .thumb_set TAMP_STAMP_IRQHandler,Default_Handler
@@ -337,6 +409,31 @@ g_pfnVectors:
337409 .weak EXTI4_IRQHandler
338410 .thumb_set EXTI4_IRQHandler,Default_Handler
339411
412+ #if defined(MCU_SERIES_L4)
413+ .weak DMA1_Channel1_IRQHandler
414+ .thumb_set DMA1_Channel1_IRQHandler,Default_Handler
415+
416+ .weak DMA1_Channel2_IRQHandler
417+ .thumb_set DMA1_Channel2_IRQHandler,Default_Handler
418+
419+ .weak DMA1_Channel3_IRQHandler
420+ .thumb_set DMA1_Channel3_IRQHandler,Default_Handler
421+
422+ .weak DMA1_Channel4_IRQHandler
423+ .thumb_set DMA1_Channel4_IRQHandler,Default_Handler
424+
425+ .weak DMA1_Channel5_IRQHandler
426+ .thumb_set DMA1_Channel5_IRQHandler,Default_Handler
427+
428+ .weak DMA1_Channel6_IRQHandler
429+ .thumb_set DMA1_Channel6_IRQHandler,Default_Handler
430+
431+ .weak DMA1_Channel7_IRQHandler
432+ .thumb_set DMA1_Channel7_IRQHandler,Default_Handler
433+
434+ .weak ADC1_2_IRQHandler
435+ .thumb_set ADC1_2_IRQHandler,Default_Handler
436+ #else
340437 .weak DMA1_Stream0_IRQHandler
341438 .thumb_set DMA1_Stream0_IRQHandler,Default_Handler
342439
@@ -360,6 +457,7 @@ g_pfnVectors:
360457
361458 .weak ADC_IRQHandler
362459 .thumb_set ADC_IRQHandler,Default_Handler
460+ #endif
363461
364462 .weak CAN1_TX_IRQHandler
365463 .thumb_set CAN1_TX_IRQHandler,Default_Handler
@@ -376,6 +474,16 @@ g_pfnVectors:
376474 .weak EXTI9_5_IRQHandler
377475 .thumb_set EXTI9_5_IRQHandler,Default_Handler
378476
477+ #if defined(MCU_SERIES_L4)
478+ .weak TIM1_BRK_TIM15_IRQHandler
479+ .thumb_set TIM1_BRK_TIM15_IRQHandler,Default_Handler
480+
481+ .weak TIM1_UP_TIM16_IRQHandler
482+ .thumb_set TIM1_UP_TIM16_IRQHandler,Default_Handler
483+
484+ .weak TIM1_TRG_COM_TIM17_IRQHandler
485+ .thumb_set TIM1_TRG_COM_TIM17_IRQHandler,Default_Handler
486+ #else
379487 .weak TIM1_BRK_TIM9_IRQHandler
380488 .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler
381489
@@ -384,6 +492,7 @@ g_pfnVectors:
384492
385493 .weak TIM1_TRG_COM_TIM11_IRQHandler
386494 .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler
495+ #endif
387496
388497 .weak TIM1_CC_IRQHandler
389498 .thumb_set TIM1_CC_IRQHandler,Default_Handler
@@ -430,6 +539,19 @@ g_pfnVectors:
430539 .weak RTC_Alarm_IRQHandler
431540 .thumb_set RTC_Alarm_IRQHandler,Default_Handler
432541
542+ #if defined(MCU_SERIES_L4)
543+ .weak DFSDM3_IRQHandler
544+ .thumb_set DFSDM3_IRQHandler,Default_Handler
545+
546+ .weak TIM8_BRK_IRQHandler
547+ .thumb_set TIM8_BRK_IRQHandler,Default_Handler
548+
549+ .weak TIM8_UP_IRQHandler
550+ .thumb_set TIM8_UP_IRQHandler,Default_Handler
551+
552+ .weak TIM8_TRG_COM_IRQHandler
553+ .thumb_set TIM8_TRG_COM_IRQHandler,Default_Handler
554+ #else
433555 .weak OTG_FS_WKUP_IRQHandler
434556 .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler
435557
@@ -441,14 +563,20 @@ g_pfnVectors:
441563
442564 .weak TIM8_TRG_COM_TIM14_IRQHandler
443565 .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler
566+ #endif
444567
445568 .weak TIM8_CC_IRQHandler
446569 .thumb_set TIM8_CC_IRQHandler,Default_Handler
447570
571+ #if defined(MCU_SERIES_L4)
572+ .weak ADC3_IRQHandler
573+ .thumb_set ADC3_IRQHandler,Default_Handler
574+ #else
448575 .weak DMA1_Stream7_IRQHandler
449576 .thumb_set DMA1_Stream7_IRQHandler,Default_Handler
577+ #endif
450578
451- #if defined(MCU_SERIES_F7)
579+ #if defined(MCU_SERIES_F7) || defined(MCU_SERIES_L4)
452580 .weak FMC_IRQHandler
453581 .thumb_set FMC_IRQHandler,Default_Handler
454582
@@ -480,6 +608,40 @@ g_pfnVectors:
480608 .weak TIM7_IRQHandler
481609 .thumb_set TIM7_IRQHandler,Default_Handler
482610
611+ #if defined(MCU_SERIES_L4)
612+ .weak DMA2_Channel1_IRQHandler
613+ .thumb_set DMA2_Channel1_IRQHandler,Default_Handler
614+
615+ .weak DMA2_Channel2_IRQHandler
616+ .thumb_set DMA2_Channel2_IRQHandler,Default_Handler
617+
618+ .weak DMA2_Channel3_IRQHandler
619+ .thumb_set DMA2_Channel3_IRQHandler,Default_Handler
620+
621+ .weak DMA2_Channel4_IRQHandler
622+ .thumb_set DMA2_Channel4_IRQHandler,Default_Handler
623+
624+ .weak DMA2_Channel5_IRQHandler
625+ .thumb_set DMA2_Channel5_IRQHandler,Default_Handler
626+
627+ .weak DFSDM0_IRQHandler
628+ .thumb_set DFSDM0_IRQHandler,Default_Handler
629+
630+ .weak DFSDM1_IRQHandler
631+ .thumb_set DFSDM1_IRQHandler,Default_Handler
632+
633+ .weak DFSDM2_IRQHandler
634+ .thumb_set DFSDM2_IRQHandler,Default_Handler
635+
636+ .weak COMP_IRQHandler
637+ .thumb_set COMP_IRQHandler,Default_Handler
638+
639+ .weak LPTIM1_IRQHandler
640+ .thumb_set LPTIM1_IRQHandler,Default_Handler
641+
642+ .weak LPTIM2_IRQHandler
643+ .thumb_set LPTIM2_IRQHandler,Default_Handler
644+ #else
483645 .weak DMA2_Stream0_IRQHandler
484646 .thumb_set DMA2_Stream0_IRQHandler,Default_Handler
485647
@@ -512,10 +674,24 @@ g_pfnVectors:
512674
513675 .weak CAN2_SCE_IRQHandler
514676 .thumb_set CAN2_SCE_IRQHandler,Default_Handler
677+ #endif
515678
516679 .weak OTG_FS_IRQHandler
517680 .thumb_set OTG_FS_IRQHandler,Default_Handler
518681
682+ #if defined(MCU_SERIES_L4)
683+ .weak DMA2_Channel6_IRQHandler
684+ .thumb_set DMA2_Channel6_IRQHandler,Default_Handler
685+
686+ .weak DMA2_Channel7_IRQHandler
687+ .thumb_set DMA2_Channel7_IRQHandler,Default_Handler
688+
689+ .weak LPUART1_IRQHandler
690+ .thumb_set LPUART1_IRQHandler,Default_Handler
691+
692+ .weak QUADSPI_IRQHandler
693+ .thumb_set QUADSPI_IRQHandler,Default_Handler
694+ #else
519695 .weak DMA2_Stream5_IRQHandler
520696 .thumb_set DMA2_Stream5_IRQHandler,Default_Handler
521697
@@ -527,13 +703,33 @@ g_pfnVectors:
527703
528704 .weak USART6_IRQHandler
529705 .thumb_set USART6_IRQHandler,Default_Handler
706+ #endif
530707
531708 .weak I2C3_EV_IRQHandler
532709 .thumb_set I2C3_EV_IRQHandler,Default_Handler
533710
534711 .weak I2C3_ER_IRQHandler
535712 .thumb_set I2C3_ER_IRQHandler,Default_Handler
536713
714+ #if defined(MCU_SERIES_L4)
715+ .weak SAI1_IRQHandler
716+ .thumb_set SAI1_IRQHandler,Default_Handler
717+
718+ .weak SAI2_IRQHandler
719+ .thumb_set SAI2_IRQHandler,Default_Handler
720+
721+ .weak SWPMI1_IRQHandler
722+ .thumb_set SWPMI1_IRQHandler,Default_Handler
723+
724+ .weak TSC_IRQHandler
725+ .thumb_set TSC_IRQHandler,Default_Handler
726+
727+ .weak LCD_IRQHandler
728+ .thumb_set LCD_IRQHandler,Default_Handler
729+
730+ .weak RNG_IRQHandler
731+ .thumb_set RNG_IRQHandler,Default_Handler
732+ #else
537733 .weak OTG_HS_EP1_OUT_IRQHandler
538734 .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler
539735
@@ -551,6 +747,7 @@ g_pfnVectors:
551747
552748 .weak HASH_RNG_IRQHandler
553749 .thumb_set HASH_RNG_IRQHandler,Default_Handler
750+ #endif
554751
555752 .weak FPU_IRQHandler
556753 .thumb_set FPU_IRQHandler,Default_Handler
0 commit comments