AnsweredAssumed Answered

system clock configuration issue - STM32L0538 – Discovery board

Question asked by kobi nis on Aug 13, 2017


I have the following issue on STM32L0538 – Discovery board:

I'm trying to configure the system clock to 65 KHz by MSI oscillator but it's failed.

It's crash inside the function "HAL_RCC_OscConfig".

For all the other frequency of MSI it doesn’t crash and work ok.

I also tried to run it without debug, doesn't work.

my code: (crash in the red line)

void SystemClock_Config(void)


   RCC_ClkInitTypeDef RCC_ClkInitStruct;

  RCC_OscInitTypeDef RCC_OscInitStruct;


  /* Enable Power Control clock */



  /* The voltage scaling allows optimizing the power consumption when the device is

     clocked below the maximum system frequency, to update the voltage scaling value

     regarding system frequency refer to product datasheet.  */



  /* Enable MSI Oscillator */

  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI;

  RCC_OscInitStruct.MSIState = RCC_MSI_ON;

  RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_0;

  RCC_OscInitStruct.MSICalibrationValue = 0;

  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;

  if (HAL_RCC_OscConfig(&RCC_OscInitStruct)!= HAL_OK)






Inside HAL_RCC_OscConfig (it's crash at the green line):




          /* Else, keep current flash latency while decreasing applies */

          /* Selects the Multiple Speed oscillator (MSI) clock range .*/


          /* Adjusts the Multiple Speed oscillator (MSI) calibration value.*/



          /* Decrease number of wait states update if necessary */

          if(RCC_SetFlashLatencyFromMSIRange(RCC_OscInitStruct->MSIClockRange) != HAL_OK)


            return HAL_ERROR;




Do you have any idea why it's crash?