Showing results for 
Search instead for 
Did you mean: 

STM32CubeMX 5.5.0 released

ST Employee

What you have to know before migrating

What is new in STM32CubeMX V5.5.0?

• Removed TouchGFX, STemWin, Graphics Selector and Simulator supports.

The new solution based on Expansion Pack X-CUBE-TOUCHGFX is available.

• Added the support of new part numbers in the STM32H7 Series:

STM32H7A3x, STM32H7B3x, STM32H750IBTx, STM32H750ZBTx and


• Added the support of new part numbers in the STM32L4+ Series:

STM32L4P5x and STM32L4Q5x.

• Added the support of LL code generation for the STM32H7 Series.

• Added the support of the STM32L5 Series:

– Added the support of STM32L5 Series devices: STM32L55xx, STM32L56xx.

– Added the support of boards based on devices in the STM32L5 Series:

NUCLEO-L552ZE-Q, STM32L552E-EV and STM32L562E-DK.

– Possibility to create projects with no TrustZone® security (user Option Bit TZEN=0

with legacy project structure) or with TrustZone® security (user Option Bit TZEN=1

with new project structure for secure and non-secure images).

– For TrustZone® projects (TZEN=1), in order to match the default IDAU/SAU and

secure and non-secure linker files, ensure these Option Bytes are set with

STM32CubeProgrammer (STM32CubeProg) prior to download and execution:

- TZEN = 1: system with TrustZone®-M enabled.

- DBANK = 1: dual-bank mode.


All 128 pages of internal Flash Bank1 set as secure.

- SECWM2_PSTRT=0x1 and SECWM2_PEND=0x0

No page of internal Flash Bank2 set as secure, hence Bank2 non-secure.

– Possibility to assign peripheral or middleware to secure (CM33S) or non-secure

(CM33NS) context.

– Possibility to secure RCC resources in the Clock Configuration tab. Securable

resources are highlighted with a key-shaped icon:

- Right click on securable resource to activate or deactivate the security.

- The lock icon locks all secure resources: no more possible to change the

configuration even with the automatic clock issues solver.

• Added the support of new boards:


Known limitations

When selecting microprocessors in the STM32L5 Series:

• No additional software available.

• TrustZone® support:

– Fixed default SAU is configured in application partition_stm32l552xx.h and

partition_stm32l562xx.h files.

– Configuration is lost (mode and parameters) when changing the Cortex®-M33S or

Cortex®-M33NS context.

– Import not working for TrustZone® projects (TZEN=1).

When selecting microcontrollers in the STM32WB Series:

• THREAD is not supported in Power Consumption Calculator (PCC) for the STM32WB


When selecting dual-core microcontrollers in the STM32H7 Series:

• Only Boot0 is supported: both cores boot at once.

• Additional software is not supported.

• Import from and to dual-core STM32H7 is not supported.

• OpenAMP middleware is not supported.

• For memory-to-memory DMA or BDMA or MDMA configuration, the initialization code

is generated for both cores.

When selecting microcontrollers in the STM32H7 Series:

• PWR, MDMA and HSEM are not supported in LL. Only HAL is supported.

• OCTOSPI muxed mode is not supported.

• DTS is not supported.

When selecting microcontrollers in the STM32L4+ Series:

• OCTOSPI muxed mode is not supported.

When selecting microprocessors in the STM32MP1 Series:

• DMA configurations are not generated in the device tree.

• The PDF report feature is not updated for all features linked to the STM32MP1 Series

such as runtime contexts, device tree, and DDR Tool.

• Import from and to MPU projects does not work properly.

• Dual-core project structure compatibility break : the action to import (migrate or

continue) projects created with versions earlier than STM32CubeMX V5.3.0 is

supported but requires the manual copy of USER SECTIONS for the Device Tree and

Cortex®-M4 firmware from the former folder structure (DeviceTree/Inc/Src) to the new

one (CA7/DeviceTree - CM4/Src - CM4/Inc).

• Additional software is not supported.

• OpenAMP middleware and Resource Manager utility do not work properly when

FreeRTOS® is activated.

• RCC generation in Production mode not supported on co-processor side; Only the

Engineering mode is supported.

By default, the STM32CubeMX-generated code is compliant with the Engineering

mode.Therefore, the call of the following clock functions must be removed in the

Production mode since these clocks are then managed by Linux®:

SystemClock_Config(), PeriphCommonClock_Config(), and


The system part (SystemClock_Config() and PeriphCommonClock_Config())

can be removed in STM32CubeMX by selecting [Not Generate function call] for RCC in

the Project Manager, then Advanced Settings tabs.

HAL_RCCEx_PeriphCLKConfig() must be removed manually from file

stm32mp1xx_hal_msp.c (STM32CubeMX-generated code).

To make the user code compatible with both the engineering and production modes,

the above RCC functions can be put under dynamic condition


• OpenAMP issue when compiling under EWARM and MDK-ARM (in case OpenAMP is

activated under STM32CubeMX):

– To avoid link errors in OpenAMP when compiling in MDK-ARM IDE, in the linker

files (.sct), uncomment the next four lines of code:

;*** Create region for OPENAMP ***

;.resource_table +0 ALIGN 4 { ; resource table

; *(.resource_table)


;Shared Memory area used by OpenAMP

;__OpenAMP_SHMEM__ 0x10040000 EMPTY 0x8000 {}

– To avoid compile errors in OpenAMP when compiling in the MDK-ARM IDE,

disable the Use MicroLIB in the Target tab.

– To avoid link errors in OpenAMP when compiling in EWARM, in the linker files

(.icf), uncomment the next four defines:

/* Create region for OPENAMP */

/* define symbol __OPENAMP_region_start__ = 0x10040000; */

/* define symbol __OPENAMP_region_size__ = 0x8000; */

/* export symbol __OPENAMP_region_start__; */

/* export symbol __OPENAMP_region_size__; */

• On macOS®, installation issues may result from the fact that the install is not signed.

Use the following procedure:

a) Download STM32CubeMX on a Window® OS personal computer

b) Copy the downloaded install into the macOS® personal computer

c) Launch the install

STM32CubeIDE toolchain:

• It is functional only with a Java 8 64-bit Java Virtual Machine.

Additional software:

• When a pack is uninstalled, the version is no more visible in the Additional Software

components selection window

– Workaround: go back to Embedded Software Packages Manager

(Home - > Install/Remove) to install the pack again

• When a pack is disabled, generated files are not removed from the project

– Workaround: remove these files manually

When using a CMSIS software packs (additional software), the following options, attributes

and elements of the PDSC pack description are not supported:

• maxInstances, isDefaultVariant, generator attributes of the component


• requirements element (pack dependencies)

• Dtz, Ddsp, Dsecure, Toptions attributes of the condition element

• repository element

• tag and url attributes of a release element

• condition attribute of the api element

• dominate element

• Dcore, Dname, Dvendor and Tcompiler attributes for the package element

• path and public attributes for the file element

• preIncludeLocal and preIncludeGlobal file category attributes

• Pre_Include_Local_h element

• Pre_Include_Global_h element

Fixed issues

67598 [MX-F4][USART] Add Open Drain under GPIO mode.

70790 [MX-Code Generation] Incorrect OPAMP number assigned.

3041 [MX-L1][I2S] Wrong HAL_RCC_SPIx_CLK_Enable call.

73371 [MX-MP][USART] Hardware flow control (RS485) not available.

73653 Moving a project from v5.2.0 to v5.3.0 without migrating leads to corrupted dts.

73741 [MX-H7][GPIO] User label not generated.

73888 [MX-G4][ADC_LL] Wrong line of code generated TriggerSource.

74309 [MX-FreeRTOS] configCPU_CLOCK_HZ is incorrect for Cortex®-M4.

75131 [MX-G0][USART] Missed configuration pin in the code generation and not able to configure

pins.75262 [MX-G4/G0][UCPD] The dead-battery signals configuration is not saved.


Is the DMA not working in CubeMX generated code - order of initialization issue (which comes up on the forum once every day) addressed in this version?

@Nawres GHARBI​ - Where is the list of all known open issues and their expected fix date?


Best Regards, Dave

Senior II


Pavel A.
Evangelist III

Thanks, Nawres and the team!

Can you provide more details on following, please?

STM32CubeIDE toolchain:

• It is functional only with a Java 8 64-bit Java Virtual Machine.

- what does this mean? CubeIDE itself requires Java8 64-bit, or CubeMX requires Java8 64-bit to generate a project for CubeIDE?

67598 [MX-F4][USART] Add Open Drain under GPIO mode

- what was missing or not working without this fix?

Associate II


As opposed to version 5.4.0, I am not able to add additional software packages like CMSIS core/dsp etc in version 5.5.0

Sebastiain Fernandez
Associate II


I'm using the STM32CubeMX tool integrated to STM32CubeIDE. I'm working in a project for an STM32H750 device, In the project manager tab of the device configuration tool I noticed that is not possible to change the Firmware Package. I wanted to compare the latest package "STM32Cube_FW_H7 V1.6.0" with the previous version STM32Cube_FW_H7 V1.5.0 . The only way to change the package was to open the .ioc file on a text editor and edit the following line:

ProjectManager.FirmwarePackage=STM32Cube FW_H7 V1.6.0

And replaced it with

ProjectManager.FirmwarePackage=STM32Cube FW_H7 V1.5.0

I remember changing the firmware package was possible on previous versions of CubeMX

This is the info from the About STM32CubeIDE Features window:

STM32CubeMX - STM32 Device Configuration Tool

Version: 5.5.0-RC6

Build: 20191220-1511 (UTC)

Copyright (c) 2018 STMicroelectronics. All rights reserved



MPU temperature sensor channel is lost in this version for STM32H743Zi !

But for STM32F767Zi temperature sensor channel is present