cancel
Showing results for 
Search instead for 
Did you mean: 

stm32f437xx.h

John Hite
Associate III
Posted on January 12, 2017 at 22:36

Where can one find the current version of stm32f437xx.h?

Thanks,

jh

1 ACCEPTED SOLUTION

Accepted Solutions
Posted on January 13, 2017 at 21:37

You are mixing include and source files front two different libraries, and that's not going to work at all well

You want to match stm32f437xx.h with 

stm32f4xx_hal_gpio.c, not stm32f4xx_gpio.c

STM32Cube_FW_F4_V1.9.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f437xx.h

STM32Cube_FW_F4_V1.9.0\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c

OR

STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h

STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c

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

View solution in original post

6 REPLIES 6
Posted on January 12, 2017 at 22:47

Where did the one you have come from?

The SPL you define the model and it pulls the appropriate structures from stm32f4xx.h

#define STM32F427_437xx

STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h

Under Cube

STM32Cube_FW_F4_V1.9.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f446xx.h

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Posted on January 12, 2017 at 23:16

 ,

 ,

The current version came from svn for a previous version of the project.

What is this model that is to be defined? In what file do I place the statement

♯ define STM32F427_437xx

 ,

?

We are not using HAL or CMSIS and therefore not using Cube.

Thanks,

jh

Posted on January 13, 2017 at 01:55

For the SPL I typically pass it as a command line define for the compiler.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Posted on January 13, 2017 at 19:29

I checked the preprocessor settings and STM32F437xx and STM32F427_437xx are both defined symbols. I put some bad code in a conditional test to make sure they were being picked up and they were.

The file stm32f4xx_gpio.c (V1.8.0) contains the line  GPIOx->BSRRL = GPIO_Pin;

The typedef for GPIOx is in stm32f437xx.h (V2.4.1) and it has no field BSRRL or BSRRH. So this is why I wonder if I have a out of date version of it.

Thanks,

jh

Posted on January 13, 2017 at 21:37

You are mixing include and source files front two different libraries, and that's not going to work at all well

You want to match stm32f437xx.h with 

stm32f4xx_hal_gpio.c, not stm32f4xx_gpio.c

STM32Cube_FW_F4_V1.9.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include\stm32f437xx.h

STM32Cube_FW_F4_V1.9.0\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c

OR

STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h

STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Libraries\STM32F4xx_StdPeriph_Driver\src\stm32f4xx_gpio.c

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Posted on January 13, 2017 at 22:47

I came to the same conclusion when I found another directory that needed to be updated and got rid of that particular compile error. For what it is worth the last person working on the project had said we wouldn't use CMSIS or HAL. However he had compiled some HAL based code in order to view some of the generated code. Turns out some of the HAL files weren't removed.

Thanks for the help.

jh