cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeMX 5.1.0 released

Nawres GHARBI
ST Employee

Dear community

We are pleased to announce the release of STM32CubeMX v5.1.0

What’s new ?

 

  • Performance enhancements for improved user experience.
  • Font size is now customizable (Click "Window" -> "Font size")
  • User interface updates
  • Graphics updates: TrueSTUDIO® is supported by TouchGFX Designer.

  • Added the support of the first MPU: STM32MP1 Series.
    • New devices: STM32MP151xx, STM32MP153xx, and STM32MP157xx.
    • New boards: STM32MP157A-EV1, STM32MP157C-EV1 and STM32MP157C-DK2
    • Features: Tj versus Ta calculation for PCC, DDR Test Suite, Device Tree generation, etc.
  • Added the support of the STM32WB Series:
  • New devices: STM32WB55xx.
    • Examples in MX format available in the STM32Cube_FW_WB_1.0.0 STM32CubeWB MCU Package.
    • Features: PCC Bluetooth® Low Energy feature.
  • Added the support of USBPD Middleware for G0 Series

Supported STM32Cube package versions:

·          STM32F0 V1.9.0

·          STM32F1 V1.7.0

·          STM32F2 V1.7.0

·          STM32F3 V1.10.0

·          STM32F4 V1.24.0

·          STM32F7 V1.15.0

·          STM32G0 V1.1.0

·          STM32H7 V1.3.2

·          STM32L0 V1.11.0

·          STM32L1 V1.8.1

·          STM32L4 V1.13.0

·          STM32MP1 V1.0.0

·          STM32WB V1.0.0

Main Fixed issues

 

  • 46874 [MX-Clock] include frac formulas in frequency calculation when PLL frac is enabled.
  • 51206 [MX-TIM] Break filter to be removed for TIM15, 16 and 17.
  • 53264 [MX-Pinout][STM32H750IBKx] G10 must be VSS and not VDD.
  • 55690 [MX-Board] Wrong configuration of special PHY reg for STM32F746 Discovery.
  • 56760 RCC for LTDC clock of STM32L4R9.
  • 56828 [MX-ETH]PHY DP83848 should support also RMII mode.
  • 56999 FreeRTOS™ initialization sequence.
  • 57348 [MX-LWIP] Exception generated due to undefined parameter in the ftl.
  • 57520 [MX-SPI] Missing Alternate Function Open Drain in SPI configuration mode.
  • 58043 [MX-TouchSensing] Missing user label in function MyTKeys_ErrorStateProcess().

Known limitations

Please read the Release note for the known limitations

https://www.st.com/resource/en/release_note/dm00107607.pdf

30 REPLIES 30

Hi @Noppe.Jack​ 

You have two ways to install STM32CubeMX:

1- from app icon

0690X000006DpsJQAS.png

2- With Command line "java -jar STM32CubeMX-5.1.0.exe"

0690X000006Dps9QAC.png

Hello @MNapi​ ,

You can simply ask a new question in https://community.st.com/s/topic/0TO0X000000BTr8WAG/stm32cubemx (if not already done there).

-Amel

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi @anio1491​ 

Trying to fix a server issue

It is OK now you can download the FW

enjoy the 5.1.0

Hi @Nawres GHARBI​ ,

Thanks for the update. Still a lot of issues unresolved.

See this: https://community.st.com/s/question/0D50X0000APYl2qSQD/stm32cubemx-501-lpuart1-missing-nvic-menu

and this: https://community.st.com/s/question/0D50X0000APbf7ESQR/bug-in-spi-transmit- .

Regards,

Andreea

How to get rid of this message after generating code?

0690X000006DrRAQA0.png

Migrated a 5.0.1 project and never used GFXSIMULATOR in my life.

I find no appropiate config setting in the file <myproject>.ioc

There is no warning when building a new project from scratch.

Thank you Nawres. Those files only showed up when the RC6 file was posted to the website. The original file that was released earlier in the morning did not have them.

The good news ... since RC6 all seems to be in order. I know the software is not perfect (lots of reports in the forum), but no software ever is. Overall, I find CubeMX very useful. Thank you 🙂

Here are my timers after playing, I get around 3.7 ms period. You must have this board on your desk and take look yourself. Those number are not correct when you try to setup in cube mx following the book. This board or the code needs some changes / improvements.

static void MX_TIM1_Init(void)

{

 /* USER CODE BEGIN TIM1_Init 0 */

 /* USER CODE END TIM1_Init 0 */

 TIM_ClockConfigTypeDef sClockSourceConfig = {0};

 TIM_MasterConfigTypeDef sMasterConfig = {0};

 TIM_OC_InitTypeDef sConfigOC = {0};

 TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0};

 /* USER CODE BEGIN TIM1_Init 1 */

 /* USER CODE END TIM1_Init 1 */

 htim1.Instance = TIM1;

 htim1.Init.Prescaler = 45;

 htim1.Init.CounterMode = TIM_COUNTERMODE_UP;

 htim1.Init.Period = 4000;

 htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;

 htim1.Init.RepetitionCounter = 0;

 htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;

 if (HAL_TIM_Base_Init(&htim1) != HAL_OK)

 {

   Error_Handler();

 }

 sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;

 if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK)

 {

   Error_Handler();

 }

 if (HAL_TIM_PWM_Init(&htim1) != HAL_OK)

 {

   Error_Handler();

 }

 sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;

 sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET;

 sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;

 if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK)

 {

   Error_Handler();

 }

 sConfigOC.OCMode = TIM_OCMODE_PWM1;

 sConfigOC.Pulse = 7;

 sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;

 sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;

 sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;

 sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;

 sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;

 if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)

 {

   Error_Handler();

 }

 sConfigOC.Pulse = 1;

 sConfigOC.OCPolarity = TIM_OCPOLARITY_LOW;

 if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)

 {

   Error_Handler();

 }

 sConfigOC.Pulse = 3;

 sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;

 if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)

 {

   Error_Handler();

 }

 sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;

 sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;

 sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;

 sBreakDeadTimeConfig.DeadTime = 0;

 sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;

 sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH;

 sBreakDeadTimeConfig.BreakFilter = 0;

 sBreakDeadTimeConfig.Break2State = TIM_BREAK2_DISABLE;

 sBreakDeadTimeConfig.Break2Polarity = TIM_BREAK2POLARITY_HIGH;

 sBreakDeadTimeConfig.Break2Filter = 0;

 sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE;

 if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK)

 {

   Error_Handler();

 }

 /* USER CODE BEGIN TIM1_Init 2 */

 /* USER CODE END TIM1_Init 2 */

 HAL_TIM_MspPostInit(&htim1);

}

​I'd would like to see some Documentation on this GFXSimulator and what it is intended to be used for.  I've searched and have found nothing on it.

Thanks

@Nawres GHARBI​ - Where is CubeMX plug-in 5.1? I'm trying to use this within Atollic.

I downloaded the software on this page: https://www.st.com/en/development-tools/stm32cubemx.html

Unfortunately that seems to be only the stand-alone executable, no plugin ZIP.

Thanks!