More checks on IRQ sharing combinations.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@14801 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
Giovanni Di Sirio 2021-09-19 05:54:45 +00:00
parent 431f9b0259
commit d6b2eb0f98
2 changed files with 35 additions and 23 deletions

View File

@ -64,15 +64,21 @@
#include "stm32_exti19-21.inc"
#include "stm32_usart1.inc"
#if STM32_HAS_LPUART2
#if STM32_HAS_USART2 && STM32_HAS_LPUART2
#include "stm32_usart2_lp2.inc"
#else
#elif STM32_HAS_USART2
#include "stm32_usart2.inc"
#endif
#if STM32_HAS_UART5 && STM32_HAS_USART6
#include "stm32_usart3_4_5_6_lp1.inc"
#else
#error "unknown USARTs combination"
#endif
#if STM32_HAS_USART3 && STM32_HAS_UART4 && STM32_HAS_UART5 && STM32_HAS_USART6 && STM32_HAS_LPUART1
#include "stm32_usart3_4_5_6_lp1.inc"
#elif STM32_HAS_USART3 && STM32_HAS_UART4 && STM32_HAS_LPUART1
#include "stm32_usart3_4_lp1.inc"
#elif STM32_HAS_LPUART1
#include "stm32_lpuart1.inc"
#else
#error "unknown USARTs combination"
#endif
#include "stm32_tim1.inc"
@ -120,15 +126,17 @@ void irqInit(void) {
tim17_irq_init();
usart1_irq_init();
#if STM32_HAS_LPUART2
#if STM32_HAS_USART2 && STM32_HAS_LPUART2
usart2_lpuart2_irq_init();
#else
#elif STM32_HAS_USART2
usart2_irq_init();
#endif
#if STM32_HAS_UART5 && STM32_HAS_USART6
#if STM32_HAS_USART3 && STM32_HAS_UART4 && STM32_HAS_UART5 && STM32_HAS_USART6 && STM32_HAS_LPUART1
usart3_usart4_usart5_usart6_lpuart1_irq_init();
#else
#elif STM32_HAS_USART3 && STM32_HAS_UART4 && STM32_HAS_LPUART1
usart3_usart4_lpuart1_irq_init();
#elif STM32_HAS_LPUART1
lpuart1_irq_init();
#endif
}
@ -159,15 +167,17 @@ void irqDeinit(void) {
tim17_irq_deinit();
usart1_irq_deinit();
#if STM32_HAS_LPUART2
#if STM32_HAS_USART2 && STM32_HAS_LPUART2
usart2_lpuart2_irq_deinit();
#else
#elif STM32_HAS_USART2
usart2_irq_deinit();
#endif
#if STM32_HAS_UART5 && STM32_HAS_USART6
#if STM32_HAS_USART3 && STM32_HAS_UART4 && STM32_HAS_UART5 && STM32_HAS_USART6 && STM32_HAS_LPUART1
usart3_usart4_usart5_usart6_lpuart1_irq_deinit();
#else
#elif STM32_HAS_USART3 && STM32_HAS_UART4 && STM32_HAS_LPUART1
usart3_usart4_lpuart1_irq_deinit();
#elif STM32_HAS_LPUART1
lpuart1_irq_deinit();
#endif
}

View File

@ -70,14 +70,14 @@
#define STM32_DMA1_CH1_HANDLER Vector64
#define STM32_DMA1_CH23_HANDLER Vector68
#define STM32_DMA1_CH4567_HANDLER Vector6C
#define STM32_DMA1_CH4567_DMA2_CH12345_HANDLER Vector6C
#define STM32_DMA1_CH4567_DMA2_CH12345_HANDLER STM32_DMA1_CH4567_HANDLER
#define STM32_DMA1_CH1_NUMBER 9
#define STM32_DMA1_CH23_NUMBER 10
#define STM32_DMA1_CH2_NUMBER STM32_DMA1_CH23_NUMBER
#define STM32_DMA1_CH3_NUMBER STM32_DMA1_CH23_NUMBER
#define STM32_DMA1_CH4567_NUMBER 11
#define STM32_DMA1_CH4567_DMA2_CH12345_NUMBER 11
#define STM32_DMA1_CH4567_DMA2_CH12345_NUMBER STM32_DMA1_CH4567_NUMBER
#define STM32_DMA1_CH4_NUMBER STM32_DMA1_CH4567_NUMBER
#define STM32_DMA1_CH5_NUMBER STM32_DMA1_CH4567_NUMBER
#define STM32_DMA1_CH6_NUMBER STM32_DMA1_CH4567_NUMBER
@ -134,7 +134,7 @@
#define STM32_TIM1_CC_HANDLER Vector78
#define STM32_TIM2_HANDLER Vector7C
#define STM32_TIM3_HANDLER Vector80
#define STM32_TIM3_TIM4_HANDLER Vector80
#define STM32_TIM3_TIM4_HANDLER STM32_TIM3_HANDLER
#define STM32_TIM6_HANDLER Vector84
#define STM32_TIM7_HANDLER Vector88
#define STM32_TIM14_HANDLER Vector8C
@ -146,7 +146,7 @@
#define STM32_TIM1_CC_NUMBER 14
#define STM32_TIM2_NUMBER 15
#define STM32_TIM3_NUMBER 16
#define STM32_TIM3_TIM4_NUMBER 16
#define STM32_TIM3_TIM4_NUMBER STM32_TIM3_NUMBER
#define STM32_TIM6_NUMBER 17
#define STM32_TIM7_NUMBER 18
#define STM32_TIM14_NUMBER 19
@ -159,15 +159,17 @@
*/
#define STM32_USART1_HANDLER VectorAC
#define STM32_USART2_HANDLER VectorB0
#define STM32_USART2_LP2_HANDLER VectorB0
#define STM32_USART3_4_LP1_HANDLER VectorB4
#define STM32_USART3_4_5_6_LP1_HANDLER VectorB4
#define STM32_USART2_LP2_HANDLER STM32_USART2_HANDLER
#define STM32_LPUART1_HANDLER VectorB4
#define STM32_USART3_4_LP1_HANDLER STM32_LPUART1_HANDLER
#define STM32_USART3_4_5_6_LP1_HANDLER STM32_LPUART1_HANDLER
#define STM32_USART1_NUMBER 27
#define STM32_USART2_NUMBER 28
#define STM32_USART2_LP2_NUMBER 28
#define STM32_USART3_4_LP1_NUMBER 29
#define STM32_USART3_4_5_6_LP1_NUMBER 29
#define STM32_USART2_LP2_NUMBER STM32_USART2_NUMBER
#define STM32_LPUART1_NUMBER 29
#define STM32_USART3_4_LP1_NUMBER STM32_LPUART1_NUMBER
#define STM32_USART3_4_5_6_LP1_NUMBER STM32_LPUART1_NUMBER
/** @} */
/*===========================================================================*/