cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeMX 5.6.0 released

Nawres GHARBI
ST Employee

What is new in STM32CubeMX V5.6.0?

• Added the support of new part numbers in the STM32L0 Series: STM32L071C(B-Z)Ux, STM32L081CZUx, STM32L072C(B-Z)Ux, STM32L082CZUx, STM32L073C(B-Z)Ux, STM32L083CZUx, and STM32L073CZUx

• Added the support of the new 800 MHz capable part numbers in the STM32MP1 Series: STM32MP151DAD, STM32MP151FAD, STM32MP151DAC, STM32MP151FAC, STM3MP151DAB, STM32MP151FAB, STM32MP151DAA, STM32MP151FAA, STM32MP153DAD, STM32MP153FAD, STM32MP153DAC, STM32MP153FAC, STM32MP153DAB, STM32MP153FAB, STM32MP153DAA, STM32MP153FAA, STM32MP157DAD, STM32MP157FAD, STM32MP157DAC, STM32MP157FAC, STM32MP157DAB, STM32MP157FAB, STM32MP157DAA, and STM32MP157FAA

• Added the support of new part numbers in the STM32WB Series: STM32WB30CEUx, STM32WB35CCUx, STM32WB35CCYx, STM32WB35CEUx and STM32WB35CEYx

• Added the support of OCTOSPI muxed mode for the STM32H7 Series and STM32L4+ Series

• Added the support of linker files for 1-Mbyte Flash part numbers for STM32H7Axxxxx microcontrollers

• Added the support of DTS for STM32H7Axxxxx and STM32H7Bxxxxx part numbers

• Added the support of LL for PWR for the STM32H7 Series

• PCC: added the support of a new Sequence Generator feature to quickly generate two steps in high- and low-power modes. A default sequence is proposed in Run and Stop modes

• Added the support of Additional Software (Software Packs) for the STM32L5 Series, only for Non-TrustZone® activated projects (TZEN=0)

• Added the support of two new STM32Cube Expansion Packages: X-CUBE-SUBG2 and X-CUBE-ALGOBUILD

• Updated some STM32Cube Expansion Packages: X-CUBE-BLE1, X-CUBE-GNSS1, X-CUBE-MEMS1, and X-CUBE-NFC4 2.1

Known limitations

When selecting microcontrollers in the STM32L5 Series:

• No additional software available for Arm® TrustZone® activated projects (TZEN=1). Supported only for Non-TrustZone® projects (TZEN=0).

• Arm® 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).

• PCC does not support the STM32L5 Series devices with internal SMPS (part numbers ending with xQ).

When selecting microcontrollers in the STM32WB Series:

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

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:

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

When selecting microcontrollers in the STM32F4 Series and STM32F7 Series:

• IPv6 activation is not yet fully supported by the EWARM and MKD-ARM toolchains, causing compilation errors with MKD-ARM and compilation warnings with EWARM.

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 HAL_RCCEx_PeriphCLKConfig(). 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 if(IS_ENGINEERING_BOOT_MODE()).

For LPDDR2 and LPDDR3, the MR0 register must be manually added in the output generated device tree of STM32CubeMX. Add line #define DDR_MR0 0x00000000 to avoid system build error with the stm32mp15-ddr.dtsi file.

• OpenAMP issue when compiling under MDK-ARM (in case OpenAMP is activated under STM32CubeMX): to avoid compile errors in OpenAMP when compiling in the MDK-ARM IDE, disable the Use MicroLIB in the Target tab.

• 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

• Possible issue with component dependencies in the Additional Software components selection window – Workaround: click on the Refresh button from the Embedded Software Packages Manager

• When using the GNSS pack, users must not migrate their project from 3.x to 4.0.0 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 element

• 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

Some chapters in the STM32CubeMX for STM32 configuration and initialization C code generation user manual (UM1718) are not fully up to date.

Fixed issues

62299 STM32CubeMX cannot select the STM32L4R9ZIY6PTR MCU.

74936 [MX-WB][RF] Clarification configuration.

76533 [MX-G0] Missing LD4 in the NUCLEO-G070RB template of the Device Configuration. 77709 [MX-MP][CLOCK] DDRPREFM clock shows error for 533 MHz.

78818 [MX-ALL][Fatfs] Wrong ff_free define.

78859 [MX-G0][I2C] No SDA signal.

79013 [MX-ALL] Changing call order in Advanced Settings tab cannot be saved.

79596 [MX-RCC] Wrong exported RCC configuration with LL drivers.

79866 [MX-H7][CLOCK_FDCAN] Frequency limitation.

80015 [MX-H7][USB] USBH_USE_OS always disabled.

80234 [MX-RCC] Backup domain enable not added before LSE drive configuration for STM32WB

Link:

https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html#overview

9 REPLIES 9
Zoey
Associate III

Install this version with Java 8 64-bit, still got this error.​

0690X00000DYeqWQAT.png

ArsRoberto
Associate II

Hi, I'm having the same error that @Zoey​  have. I tried also to generate the project for keil V5 and V4 but nothing good.... If I open the generated keil project, Keil says that the target is not defined and the tree of files is empty.

martinstingl
Associate II

Hi,

I cannot download STM32Cube MX nor STM32CubeIDE.

When I am logged in or click on the link in the email I see no download links:

0693W000000U9O7QAK.png

0693W000000U9OCQA0.png

Deleting cookies made no change.

Any ideas?

@Nawres GHARBI​ - IIRC you (or maybe one of your colleagues?) posted that it was unsafe (or did not work properly) to use the update facility within the IDE, and that one should de-install CubeMXIDE and reinstall it in order to update. Is this still the case, or has this been fixed? Presumably you recommend updating to 1.3 from 1.2.1?

Thanks,

Best Regards, Dave

PS: We're using:

STM32CubeIDE Version: 1.2.1

Build: 5190_20200115_1224 (UTC)

OS: Windows 10, v.10.0, x86_64 / win32

Java version: 1.8.0_202

@Amel NASRI​ - CC

Microstar
Associate III

I'm using 5.6.0. Even if ​project is selected IAR v7, Cube still generator an IAR v8 project .

tushar_tp
Associate III

Hello ST, @Nawres GHARBI​ 

Do you have timeline for STM32H7 Dual Core -> Additional Software support available.

when it will be available. I am interested in X-Cube-TouchGFX.

Thanks,

Tushar

F F
Associate II

Updated to the new CUBEMX. Newly generated BLE projects cannot build:

*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'

Build target 'SH_V2_BLE'

compiling app_ble.c...

../Src/app_ble.c(224): warning: #1296-D: extended constant initialiser used

 PLACE_IN_SECTION("TAG_OTA_START") const uint32_t MagicKeywordAddress = (uint32_t)&MagicKeywordValue;

../Src/app_ble.c: 1 warning, 0 errors

linking...

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol OTP_Read multiply defined (by otp_1.o and otp.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol LST_init_head multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol LST_insert_tail multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol LST_is_empty multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol LST_remove_head multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol __asm___11_dbg_trace_c_0a3726df____REV16 multiply defined (by dbg_trace_1.o and dbg_trace.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol __asm___11_dbg_trace_c_0a3726df____REVSH multiply defined (by dbg_trace_1.o and dbg_trace.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol __asm___11_dbg_trace_c_0a3726df____RRX multiply defined (by dbg_trace_1.o and dbg_trace.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol DbgTraceBuffer multiply defined (by dbg_trace_1.o and dbg_trace.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol DbgTraceGetFileName multiply defined (by dbg_trace_1.o and dbg_trace.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol DbgTraceInit multiply defined (by dbg_trace_1.o and dbg_trace.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol __asm___5_otp_c_OTP_Read____REV16 multiply defined (by otp_1.o and otp.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol __asm___5_otp_c_OTP_Read____REVSH multiply defined (by otp_1.o and otp.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol __asm___5_otp_c_OTP_Read____RRX multiply defined (by otp_1.o and otp.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol __asm___10_stm_list_c_64162740____REV16 multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol __asm___10_stm_list_c_64162740____REVSH multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol __asm___10_stm_list_c_64162740____RRX multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol LST_get_next_node multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol LST_get_prev_node multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol LST_get_size multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol LST_insert_head multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol LST_insert_node_after multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol LST_insert_node_before multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol LST_remove_node multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol LST_remove_tail multiply defined (by stm_list_1.o and stm_list.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol __asm___11_stm_queue_c_ae3b15be____REV16 multiply defined (by stm_queue_1.o and stm_queue.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol __asm___11_stm_queue_c_ae3b15be____REVSH multiply defined (by stm_queue_1.o and stm_queue.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol __asm___11_stm_queue_c_ae3b15be____RRX multiply defined (by stm_queue_1.o and stm_queue.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol CircularQueue_Add multiply defined (by stm_queue_1.o and stm_queue.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol CircularQueue_Empty multiply defined (by stm_queue_1.o and stm_queue.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol CircularQueue_Init multiply defined (by stm_queue_1.o and stm_queue.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol CircularQueue_NbElement multiply defined (by stm_queue_1.o and stm_queue.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol CircularQueue_Remove multiply defined (by stm_queue_1.o and stm_queue.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol CircularQueue_Remove_Copy multiply defined (by stm_queue_1.o and stm_queue.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol CircularQueue_Sense multiply defined (by stm_queue_1.o and stm_queue.o).

SH_V2_BLE\SH_V2_BLE.axf: Error: L6200E: Symbol CircularQueue_Sense_Copy multiply defined (by stm_queue_1.o and stm_queue.o).

Not enough information to list image symbols.

Not enough information to list load addresses in the image map.

Finished: 2 information, 0 warning and 36 error messages.

"SH_V2_BLE\SH_V2_BLE.axf" - 36 Error(s), 1 Warning(s).

I tried 5.6.1 again today. When I still used the folder of my old project, the same error showed up. And I copied .ioc to an empty folder and generate the code from this .ioc, the error did not show up.

To solve the problem you have to completely uninstall java then install the latest cubeMX 5.6.1 then install the latest java, in the end you can open cubeMX you may see an error message about the java version (it doesn't detect the 64 bit java even if it's installed), just ignore the error, it'll work.