AnsweredAssumed Answered

FW Package F4_V1.16.0: STM32F411VC gets wrong IS_RCC_PLLN_VALUE macro according to Reference Manual

Question asked by Vito Marolda on Oct 9, 2017
Latest reply on Oct 9, 2017 by Nesrine M

I created a project with CubeMX 4.22.1, with a STM32F411VCTx.

CubeMX generated a PLLN value of 100, which for RM0383 is correct since the minimum PLLN value is 50:

VCO output frequency = VCO input frequency × PLLN with 50 ≤ PLLN ≤ 432

Instead, since CubeMX has defined the following in the build settings:

STM32F411xE

The value of PLLN=100 produce an assertion error because the following macro states that the minimum PLLN value for STM32F411xE is 192:

#if defined(STM32F411xE)
#define IS_RCC_PLLN_VALUE(VALUE) ((192U <= (VALUE)) && ((VALUE) <= 432U))
#define IS_RCC_PLLI2SN_VALUE(VALUE) ((192U <= (VALUE)) && ((VALUE) <= 432U))     
#else /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx || STM32F427xx || STM32F437xx ||
         STM32F429xx || STM32F439xx || STM32F401xC || STM32F401xE || STM32F410Tx || STM32F410Cx ||
         STM32F410Rx || STM32F446xx || STM32F469xx || STM32F479xx || STM32F412Cx || STM32F412Rx ||
         STM32F412Vx || STM32F412Zx || STM32F413xx || STM32F423xx */

#define IS_RCC_PLLN_VALUE(VALUE) ((50U <= (VALUE)) && ((VALUE) <= 432U))
#define IS_RCC_PLLI2SN_VALUE(VALUE) ((50U <= (VALUE)) && ((VALUE) <= 432U))
#endif  /* STM32F411xE */   

Which information is wrong? RM0383 does not mention this specific limit of xE variants.

Regards,

--Vito.

Outcomes