xref: /btstack/port/stm32-wb55xx-nucleo-freertos/Src/stm32wbxx_it.c (revision 0561b2d8d5dba972c7daa57d5e677f7a1327edfd)
1*0561b2d8STREFOU Felix /*
2*0561b2d8STREFOU Felix  * stm32wbxx IT
3*0561b2d8STREFOU Felix  * System interruptions implementations
4*0561b2d8STREFOU Felix  */
5*0561b2d8STREFOU Felix 
6*0561b2d8STREFOU Felix #include "stm32wbxx.h"
7*0561b2d8STREFOU Felix #include "stm32wbxx_hal.h"
8*0561b2d8STREFOU Felix 
9*0561b2d8STREFOU Felix #include "stm32wbxx_hal_tim.h"
10*0561b2d8STREFOU Felix 
11*0561b2d8STREFOU Felix #include "hw.h"
12*0561b2d8STREFOU Felix 
13*0561b2d8STREFOU Felix extern TIM_HandleTypeDef htim17;
14*0561b2d8STREFOU Felix 
15*0561b2d8STREFOU Felix /**
16*0561b2d8STREFOU Felix * @brief This function handles Non maskable interrupt.
17*0561b2d8STREFOU Felix */
NMI_Handler(void)18*0561b2d8STREFOU Felix void NMI_Handler                (void)
19*0561b2d8STREFOU Felix {
20*0561b2d8STREFOU Felix 
21*0561b2d8STREFOU Felix }
22*0561b2d8STREFOU Felix 
23*0561b2d8STREFOU Felix /**
24*0561b2d8STREFOU Felix * @brief This function handles Hard fault interrupt.
25*0561b2d8STREFOU Felix */
HardFault_Handler(void)26*0561b2d8STREFOU Felix void HardFault_Handler          (void)
27*0561b2d8STREFOU Felix {
28*0561b2d8STREFOU Felix   for(;;);
29*0561b2d8STREFOU Felix }
30*0561b2d8STREFOU Felix 
31*0561b2d8STREFOU Felix /**
32*0561b2d8STREFOU Felix * @brief This function handles Memory management fault.
33*0561b2d8STREFOU Felix */
MemManage_Handler(void)34*0561b2d8STREFOU Felix void MemManage_Handler          (void)
35*0561b2d8STREFOU Felix {
36*0561b2d8STREFOU Felix   while (1)
37*0561b2d8STREFOU Felix   {
38*0561b2d8STREFOU Felix 
39*0561b2d8STREFOU Felix   }
40*0561b2d8STREFOU Felix }
41*0561b2d8STREFOU Felix 
42*0561b2d8STREFOU Felix /**
43*0561b2d8STREFOU Felix * @brief This function handles Prefetch fault, memory access fault.
44*0561b2d8STREFOU Felix */
BusFault_Handler(void)45*0561b2d8STREFOU Felix void BusFault_Handler           (void)
46*0561b2d8STREFOU Felix {
47*0561b2d8STREFOU Felix   while (1)
48*0561b2d8STREFOU Felix   {
49*0561b2d8STREFOU Felix 
50*0561b2d8STREFOU Felix   }
51*0561b2d8STREFOU Felix }
52*0561b2d8STREFOU Felix 
53*0561b2d8STREFOU Felix /**
54*0561b2d8STREFOU Felix * @brief This function handles Undefined instruction or illegal state.
55*0561b2d8STREFOU Felix */
UsageFault_Handler(void)56*0561b2d8STREFOU Felix void UsageFault_Handler         (void)
57*0561b2d8STREFOU Felix {
58*0561b2d8STREFOU Felix   while (1)
59*0561b2d8STREFOU Felix   {
60*0561b2d8STREFOU Felix 
61*0561b2d8STREFOU Felix   }
62*0561b2d8STREFOU Felix }
63*0561b2d8STREFOU Felix 
64*0561b2d8STREFOU Felix /**
65*0561b2d8STREFOU Felix * @brief This function handles Debug monitor.
66*0561b2d8STREFOU Felix */
DebugMon_Handler(void)67*0561b2d8STREFOU Felix void DebugMon_Handler           (void)
68*0561b2d8STREFOU Felix {
69*0561b2d8STREFOU Felix }
70*0561b2d8STREFOU Felix 
71*0561b2d8STREFOU Felix /************************************************************************************
72*0561b2d8STREFOU Felix  *                  STM32L4xx Peripheral Interrupt Handlers
73*0561b2d8STREFOU Felix  ************************************************************************************/
74*0561b2d8STREFOU Felix //void WWDG_IRQHandler                   (void){for(;;);} //Not used
75*0561b2d8STREFOU Felix //void PVD_PVM_IRQHandler                (void){for(;;);} //Not used
TAMP_STAMP_LSECSS_IRQHandler(void)76*0561b2d8STREFOU Felix void TAMP_STAMP_LSECSS_IRQHandler      (void){for(;;);} //Not used
RTC_WKUP_IRQHandler(void)77*0561b2d8STREFOU Felix void RTC_WKUP_IRQHandler               (void){for(;;);} //Not used
FLASH_IRQHandler(void)78*0561b2d8STREFOU Felix void FLASH_IRQHandler                  (void){for(;;);} //Not used
RCC_IRQHandler(void)79*0561b2d8STREFOU Felix void RCC_IRQHandler                    (void){for(;;);} //Not used
EXTI0_IRQHandler(void)80*0561b2d8STREFOU Felix void EXTI0_IRQHandler                  (void){for(;;);} //Not used
EXTI1_IRQHandler(void)81*0561b2d8STREFOU Felix void EXTI1_IRQHandler                  (void){for(;;);} //Not used
EXTI2_IRQHandler(void)82*0561b2d8STREFOU Felix void EXTI2_IRQHandler                  (void){for(;;);} //Not used
EXTI3_IRQHandler(void)83*0561b2d8STREFOU Felix void EXTI3_IRQHandler                  (void){for(;;);} //Not used
EXTI4_IRQHandler(void)84*0561b2d8STREFOU Felix void EXTI4_IRQHandler                  (void){for(;;);} //Not used
DMA1_Channel1_IRQHandler(void)85*0561b2d8STREFOU Felix void DMA1_Channel1_IRQHandler          (void){for(;;);} //Not used
DMA1_Channel2_IRQHandler(void)86*0561b2d8STREFOU Felix void DMA1_Channel2_IRQHandler          (void){for(;;);} //Not used
DMA1_Channel3_IRQHandler(void)87*0561b2d8STREFOU Felix void DMA1_Channel3_IRQHandler          (void){for(;;);} //Not used
DMA1_Channel4_IRQHandler(void)88*0561b2d8STREFOU Felix void DMA1_Channel4_IRQHandler          (void){for(;;);} //Not used
DMA1_Channel5_IRQHandler(void)89*0561b2d8STREFOU Felix void DMA1_Channel5_IRQHandler          (void){for(;;);} //Not used
DMA1_Channel6_IRQHandler(void)90*0561b2d8STREFOU Felix void DMA1_Channel6_IRQHandler          (void){for(;;);} //Not used
DMA1_Channel7_IRQHandler(void)91*0561b2d8STREFOU Felix void DMA1_Channel7_IRQHandler          (void){for(;;);} //Not used
ADC1_IRQHandler(void)92*0561b2d8STREFOU Felix void ADC1_IRQHandler                   (void){for(;;);} //Not used
USB_HP_IRQHandler(void)93*0561b2d8STREFOU Felix void USB_HP_IRQHandler                 (void){for(;;);} //Not used
USB_LP_IRQHandler(void)94*0561b2d8STREFOU Felix void USB_LP_IRQHandler                 (void){for(;;);} //Not used
C2SEV_PWR_C2H_IRQHandler(void)95*0561b2d8STREFOU Felix void C2SEV_PWR_C2H_IRQHandler          (void){for(;;);} //Not used
COMP_IRQHandler(void)96*0561b2d8STREFOU Felix void COMP_IRQHandler                   (void){for(;;);} //Not used
EXTI9_5_IRQHandler(void)97*0561b2d8STREFOU Felix void EXTI9_5_IRQHandler                (void){for(;;);} //Not used
TIM1_BRK_IRQHandler(void)98*0561b2d8STREFOU Felix void TIM1_BRK_IRQHandler               (void){for(;;);} //Not used
TIM1_UP_TIM16_IRQHandler(void)99*0561b2d8STREFOU Felix void TIM1_UP_TIM16_IRQHandler          (void){for(;;);} //Not used
100*0561b2d8STREFOU Felix //void TIM1_TRG_COM_TIM17_IRQHandler     (void){for(;;);} //Not used
TIM1_CC_IRQHandler(void)101*0561b2d8STREFOU Felix void TIM1_CC_IRQHandler                (void){for(;;);} //Not used
TIM2_IRQHandler(void)102*0561b2d8STREFOU Felix void TIM2_IRQHandler                   (void){for(;;);} //Not used
PKA_IRQHandler(void)103*0561b2d8STREFOU Felix void PKA_IRQHandler                    (void){for(;;);} //Not used
I2C1_EV_IRQHandler(void)104*0561b2d8STREFOU Felix void I2C1_EV_IRQHandler                (void){for(;;);} //Not used
I2C1_ER_IRQHandler(void)105*0561b2d8STREFOU Felix void I2C1_ER_IRQHandler                (void){for(;;);} //Not used
I2C3_EV_IRQHandler(void)106*0561b2d8STREFOU Felix void I2C3_EV_IRQHandler                (void){for(;;);} //Not used
I2C3_ER_IRQHandler(void)107*0561b2d8STREFOU Felix void I2C3_ER_IRQHandler                (void){for(;;);} //Not used
SPI1_IRQHandler(void)108*0561b2d8STREFOU Felix void SPI1_IRQHandler                   (void){for(;;);} //Not used
SPI2_IRQHandler(void)109*0561b2d8STREFOU Felix void SPI2_IRQHandler                   (void){for(;;);} //Not used
USART1_IRQHandler(void)110*0561b2d8STREFOU Felix void USART1_IRQHandler                 (void){for(;;);} //Not used
LPUART1_IRQHandler(void)111*0561b2d8STREFOU Felix void LPUART1_IRQHandler                (void){for(;;);} //Not used
SAI1_IRQHandler(void)112*0561b2d8STREFOU Felix void SAI1_IRQHandler                   (void){for(;;);} //Not used
TSC_IRQHandler(void)113*0561b2d8STREFOU Felix void TSC_IRQHandler                    (void){for(;;);} //Not used
EXTI15_10_IRQHandler(void)114*0561b2d8STREFOU Felix void EXTI15_10_IRQHandler              (void){for(;;);} //Not used
RTC_Alarm_IRQHandler(void)115*0561b2d8STREFOU Felix void RTC_Alarm_IRQHandler              (void){for(;;);} //Not used
CRS_IRQHandler(void)116*0561b2d8STREFOU Felix void CRS_IRQHandler                    (void){for(;;);} //Not used
PWR_SOTF_BLEACT_802ACT_RFPHASE_IRQHandler(void)117*0561b2d8STREFOU Felix void PWR_SOTF_BLEACT_802ACT_RFPHASE_IRQHandler (void){for(;;);} //Not used
118*0561b2d8STREFOU Felix //void IPCC_C1_RX_IRQHandler             (void){for(;;);} //Not used
119*0561b2d8STREFOU Felix //void IPCC_C1_TX_IRQHandler             (void){for(;;);} //Not used
HSEM_IRQHandler(void)120*0561b2d8STREFOU Felix void HSEM_IRQHandler                   (void){for(;;);} //Not used
LPTIM1_IRQHandler(void)121*0561b2d8STREFOU Felix void LPTIM1_IRQHandler                 (void){for(;;);} //Not used
LPTIM2_IRQHandler(void)122*0561b2d8STREFOU Felix void LPTIM2_IRQHandler                 (void){for(;;);} //Not used
LCD_IRQHandler(void)123*0561b2d8STREFOU Felix void LCD_IRQHandler                    (void){for(;;);} //Not used
QUADSPI_IRQHandler(void)124*0561b2d8STREFOU Felix void QUADSPI_IRQHandler                (void){for(;;);} //Not used
AES1_IRQHandler(void)125*0561b2d8STREFOU Felix void AES1_IRQHandler                   (void){for(;;);} //Not used
AES2_IRQHandler(void)126*0561b2d8STREFOU Felix void AES2_IRQHandler                   (void){for(;;);} //Not used
RNG_IRQHandler(void)127*0561b2d8STREFOU Felix void RNG_IRQHandler                    (void){for(;;);} //Not used
FPU_IRQHandler(void)128*0561b2d8STREFOU Felix void FPU_IRQHandler                    (void){for(;;);} //Not used
DMA2_Channel1_IRQHandler(void)129*0561b2d8STREFOU Felix void DMA2_Channel1_IRQHandler          (void){for(;;);} //Not used
DMA2_Channel2_IRQHandler(void)130*0561b2d8STREFOU Felix void DMA2_Channel2_IRQHandler          (void){for(;;);} //Not used
DMA2_Channel3_IRQHandler(void)131*0561b2d8STREFOU Felix void DMA2_Channel3_IRQHandler          (void){for(;;);} //Not used
DMA2_Channel4_IRQHandler(void)132*0561b2d8STREFOU Felix void DMA2_Channel4_IRQHandler          (void){for(;;);} //Not used
DMA2_Channel5_IRQHandler(void)133*0561b2d8STREFOU Felix void DMA2_Channel5_IRQHandler          (void){for(;;);} //Not used
DMA2_Channel6_IRQHandler(void)134*0561b2d8STREFOU Felix void DMA2_Channel6_IRQHandler          (void){for(;;);} //Not used
DMA2_Channel7_IRQHandler(void)135*0561b2d8STREFOU Felix void DMA2_Channel7_IRQHandler          (void){for(;;);} //Not used
DMAMUX1_OVR_IRQHandler(void)136*0561b2d8STREFOU Felix void DMAMUX1_OVR_IRQHandler            (void){for(;;);} //Not used
137*0561b2d8STREFOU Felix 
138*0561b2d8STREFOU Felix /**
139*0561b2d8STREFOU Felix * @brief This function handles TIM1 update interrupt and TIM16 global interrupt.
140*0561b2d8STREFOU Felix */
TIM1_TRG_COM_TIM17_IRQHandler(void)141*0561b2d8STREFOU Felix void TIM1_TRG_COM_TIM17_IRQHandler   (void)
142*0561b2d8STREFOU Felix {
143*0561b2d8STREFOU Felix   HAL_TIM_IRQHandler(&htim17);
144*0561b2d8STREFOU Felix }
145*0561b2d8STREFOU Felix 
IPCC_C1_TX_IRQHandler(void)146*0561b2d8STREFOU Felix void IPCC_C1_TX_IRQHandler(void)
147*0561b2d8STREFOU Felix {
148*0561b2d8STREFOU Felix   HW_IPCC_Tx_Handler();
149*0561b2d8STREFOU Felix 
150*0561b2d8STREFOU Felix   return;
151*0561b2d8STREFOU Felix }
152*0561b2d8STREFOU Felix 
IPCC_C1_RX_IRQHandler(void)153*0561b2d8STREFOU Felix void IPCC_C1_RX_IRQHandler(void)
154*0561b2d8STREFOU Felix {
155*0561b2d8STREFOU Felix   HW_IPCC_Rx_Handler();
156*0561b2d8STREFOU Felix   return;
157*0561b2d8STREFOU Felix }
158*0561b2d8STREFOU Felix 
159*0561b2d8STREFOU Felix /************************************************************************************
160*0561b2d8STREFOU Felix  *        STM32L4xx Callbacks due to HAL redispatching (dirty code)
161*0561b2d8STREFOU Felix  ************************************************************************************/
162*0561b2d8STREFOU Felix 
HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef * htim)163*0561b2d8STREFOU Felix void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
164*0561b2d8STREFOU Felix {
165*0561b2d8STREFOU Felix     if (htim->Instance == TIM17) {
166*0561b2d8STREFOU Felix         HAL_IncTick();
167*0561b2d8STREFOU Felix     }
168*0561b2d8STREFOU Felix }
169*0561b2d8STREFOU Felix 
170*0561b2d8STREFOU Felix /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
171