cancel
Showing results for 
Search instead for 
Did you mean: 

Bug of GubeMX....Where to find the file stm32f7xx_hal_exti.h ?

CubeMX generate file stm32f7xx_hal_conf.h. There is a lineы in this file

#ifdef HAL_EXTI_MODULE_ENABLED

 #include "stm32f7xx_hal_exti.h"

#endif /* HAL_EXTI_MODULE_ENABLED */

File stm32f7xx_hal_exti.h does not exist at all anywhere else

3 REPLIES 3

Indeed. Not seeing it in a couple of other HAL releases.

But there is not an stm32f7xx_hal_exti.c file either, most of that stuff has moved elsewhere like the GPIO file.

There's a stm32f7xx_ll_exti file

Grep for _EXTI_ and see if any of the functionality you need can be pinned down elsewhere.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

File appeared only in package

STM32Cube_FW_F7_V1.15.0...

Although it is referenced in all previous packages

JMJV
Associate II

Hello Vitaly and ST support, I have the same problem, I was using System Workbench for STM32 and CUBE 4.26.1 for STM32F767ZI, but now I'm changing all my projects to latest CUBE version 5.2.1 and I found this bug in one of my projects.

However, there is a way to solve it, you need to manually comment those lines of code mentioned above in the file "stm32f7xx_hal_conf.h" (aprox 234 to 236 lines). I really do not know why but in the previous CUBE version 4.26.1 (i tested it two times) those lines are also included but in this specific project SWB4STM32 is not asking for the file " stm32f7xx_hal_exti.h" is automatically ignored, but when I'm generating my project with the latest CUBE v5.2.1 the program SWB4STM32 is asking for the file that is only included if external interrupt is activated or used.

The file required is located in "Drivers\STM32F7xx_HAL_Driver\Inc" only but only if you activate one pin in External interrupt mode; for instance, in other of my projects I'm using one pin as external interrupt "GPIO_EXTI10", and when I generate my CUBE project this one includes the file that is needed for (stm32f7xx_hal_exti.h) (the weird thing is that I have other programs where I'm not using external interrupt and I don't have this error using the latest CUBE 5.2.1).

PS. I'm attaching my .ioc files for both CUBE versions 4.26.1 and 5.2.1

After that I posted this, I found the problem, some times CUBE is not able to set up the latest package library F7_V1.15.0, then to solve this issue you need to open the .ioc file with an editor (example notepad++) and type the correct package "ProjectManager.FirmwarePackage=STM32Cube FW_F7 V1.15.0" or in Porject Manager, select the latest package "Use Default Firmware Location"