2023-04-17 07:35 AM - edited 2023-11-20 07:55 AM
I am trying to configure PJ0 as an external interrupt on an STM32F767.
Enabling the EXTI0 interrupc removes the functions TIM1_UP_TIM10_IRQHandler from the generated code. This results in a DefaultHandler call comming from the timer.
I am activating the interrupt here:
This generates the following code changes:
--- a/03-Implementation/mp12plus/Core/Inc/stm32f7xx_it.h
+++ b/03-Implementation/mp12plus/Core/Inc/stm32f7xx_it.h
@@ -53,13 +53,13 @@ void BusFault_Handler(void);
+void EXTI0_IRQHandler(void);
...
-void TIM1_UP_TIM10_IRQHandler(void);
And the implementation of TIM1_UP_TIM10_IRQHandler is also removed. Any idea of why there is this behaviour?
Adding the lines manually again makes code work again.
Note: configuring the PJ0 as EXTI0 does not trigger this behaviour, its the activation of the NVIC that actually triggers this function erasure.
2023-04-18 12:53 AM
Hello @Community member
First let me thank you for posting.
It's possible that the interrupt priorities are not configured correctly in the .ioc file. If the EXTI0 interrupt has a higher priority than the TIM1_UP_TIM10_IRQHandler, it will be handled first by the NVIC, and the TIM1_UP_TIM10_IRQHandler will not be executed.
It's also possible that there is a conflict in the interrupt priorities, and the NVIC is not able to handle them correctly.
Could you please provide your IOC file to push further the investigation and understand the reason of the encountered behavior.
Thx
Ghofrane
2023-04-18 01:51 AM
@Ghofrane GSOURI I am not having an issue with the NVIC priorities. My issue is that the code for the TIM1_UP_TIM10_IRQHandler is not generated. Either way I will provide the .ioc as soon as possible.
2023-04-18 03:36 AM - edited 2023-11-20 07:55 AM
Hello @Community member
I tried to reproduce the issue using CubeMX6.8.0 and this is what I got please have a look
By checking the generated code , I found both functions "TIM1_UP_TIM10_IRQHandler" and " EXTI0_IRQHandler"
Thx
Ghofrane