STM32CubeH7 icon indicating copy to clipboard operation
STM32CubeH7 copied to clipboard

implicit declaration LL_RCC_CalcPLLClockFreq

Open daniel-starke opened this issue 2 years ago • 0 comments

Describe the set-up

  • Compile framework with PlatformIO and compiler flag -Wimplicit-function-declaration (does not define USE_FULL_LL_DRIVER).

Describe the bug stm32h7xx_ll_utils.c uses LL_RCC_CalcPLLClockFreq() in several places. stm32h7xx_ll_rcc.h is included, which declares the function. However, the declaration of this function is gates by the definition of USE_FULL_LL_DRIVER. Failing to define USE_FULL_LL_DRIVER results in a compiler warning "implicit declaration of function 'LL_RCC_CalcPLLClockFreq'". This may result in linker issues.

How To Reproduce Compile stm32h7xx_ll_utils.c with the compiler flag -Wimplicit-function-declaration and without defining USE_FULL_LL_DRIVER.

Additional context I propose to move the declaration of LL_RCC_CalcPLLClockFreq() outside of the USE_FULL_LL_DRIVER block in stm32h7xx_ll_rcc.h.

The warning was given for this line: https://github.com/STMicroelectronics/STM32CubeH7/blob/b340b13929e36a3427b8d94e8b1006022f82273f/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_utils.c#L929

daniel-starke avatar Mar 24 '22 21:03 daniel-starke