cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeMX 4.22.1 STM32L476JGYx SystemClock_Config Bug

Isidre Sole
Associate II
Posted on September 20, 2017 at 12:35

Hi guys.

I'm working in a STM32L476JGY based project using the board STEVAL-STLCS02V1.

The code generated by the Cube using the default clock configuration 'forgets' initialize the M value of the PLL struct, see original code:

/** System Clock Configuration

*/

void SystemClock_Config(void)

{

RCC_OscInitTypeDef RCC_OscInitStruct;

RCC_ClkInitTypeDef RCC_ClkInitStruct;

RCC_PeriphCLKInitTypeDef PeriphClkInit;

/**Initializes the CPU, AHB and APB busses clocks

*/

RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI;

RCC_OscInitStruct.MSIState = RCC_MSI_ON;

RCC_OscInitStruct.MSICalibrationValue = 0;

RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6;

RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;

RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_MSI;

RCC_OscInitStruct.PLL.PLLN = 40;

RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV7;

RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2;

RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;

if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)

{

_Error_Handler(__FILE__, __LINE__);

}

...

it's very strange that the call to HAL_RCC_OscConfig returns with a HAL_OK, but later, when the function tries to configure the PPLSAI1 it fails and the system is blocked on the _Error_Handler loop.

I fixed the problem initializing the M value on the PLL adding the following line:

RCC_OscInitStruct.PLL.PLLM = 1; // STM32CubeMX forgets that line.

#steval-stlcs02v1 #stm32l476jgyx #systemclock_config #stm32cubemx-4.22.1
1 ACCEPTED SOLUTION

Accepted Solutions
Jeanne Joly
Senior III
Posted on February 06, 2018 at 14:33

Hi

Ramon.Isidre

,

Sorry for my late reply.

Regarding the issue about 'PLLM is no more generated', it was fixed in the CubeMx version 4.23 asmentioned in the Release note of STM32CubeMX

/external-link.jspa?url=http%3A%2F%2Fwww.st.com%2Fcontent%2Fccc%2Fresource%2Ftechnical%2Fdocument%2Frelease_note%2Fb2%2F02%2F4b%2Fe3%2F81%2F32%2F49%2Fc4%2FDM001076pdf%2Ffiles%2FDM001076pdf%2Fjcr%3Acontent%2Ftranslations%2Fen.DM001076pdf

.

You can upgrade with the latest CubeMX release (version4.24).

Best Regards,

Jeanne

View solution in original post

3 REPLIES 3
Imen.D
ST Employee
Posted on October 03, 2017 at 17:49

Hello

isidresole

,

This issue is already

raised internally to CubeMx team

and itwill be fixed in our next release.

Thank you for your contribution.

Best Regards,

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Jeanne Joly
Senior III
Posted on February 06, 2018 at 14:33

Hi

Ramon.Isidre

,

Sorry for my late reply.

Regarding the issue about 'PLLM is no more generated', it was fixed in the CubeMx version 4.23 asmentioned in the Release note of STM32CubeMX

/external-link.jspa?url=http%3A%2F%2Fwww.st.com%2Fcontent%2Fccc%2Fresource%2Ftechnical%2Fdocument%2Frelease_note%2Fb2%2F02%2F4b%2Fe3%2F81%2F32%2F49%2Fc4%2FDM001076pdf%2Ffiles%2FDM001076pdf%2Fjcr%3Acontent%2Ftranslations%2Fen.DM001076pdf

.

You can upgrade with the latest CubeMX release (version4.24).

Best Regards,

Jeanne

Posted on February 06, 2018 at 19:05

Great News Jeanne

THanks.