cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeMX 5.2.0 released

Nawres GHARBI
ST Employee

Dear community

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

What is new in STM32CubeMX V5.2.0?

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

– Added the support of dual-core configuration, code, and project generation: context assignment (CM4, CM7, both CM4 and CM7 with initializer), Boot0 mode support (both CPUs booting at once), resource manager, and power domains (D1, D2 and D3).

– Added the support of new part numbers: STM32H74x and STM32H75x.

– Added the support of the PCC feature, examples, and Tj versus Ta calculation for the dual-core devices in the STM32H7 Series.

– Added the support of new boards: STM32H747I-DISCO, STM32H747I-DISC1, STM32H745I-DISCO, NUCLEO-H745ZI-Q, NUCLEO-H755ZI-Q, NUCLEOH743ZI2, NUCLEO-H753ZI, STM32H743I-EVAL2, STM32H753I-EVAL2, STM32H747I-EVAL, and STM32H757I-EVAL.

• Added the support of new single-core part numbers in the STM32H7 Series: STM32H742x.

• Added the support of a new board for the STM32H7 Value Line: STM32H750B-DK.

• Added the support of new devices with 64 Kbytes of Flash memory in the STM32G0 Series with examples in STM32CubeMX format available in the STM32Cube_FW_G0_1.2.0 STM32CubeG0 MCU Package.

– Added the support of new part numbers: STM32G030x, STM32G031x and STM32G041x.

– Added the support of the extended-mode feature for SO8, TSSOP20 and WLCSP18 packages. This feature allows multiple configurations of parallel IOs.

• Added the support of the STM32G4 Series with first examples in STM32CubeMX format available in the STM32Cube_FW_G4_1.4.0 STM32CubeG4 MCU Package.

– Added the support of devices in the STM32G4 Series: STM32G431x, STM32G441x, STM32G471x, STM32G473x, STM32G474x, STM32G484x, and STM32GBK1CBT.

– Added the support of boards based on devices in the STM32G4 Series: STM32G474E-EVAL, STM32G484E-EVAL, STM32G474E-EVAL1, NUCLEOG474RE, NUCLEO-G431RB and NUCLEO-G431KB.

• New toolchain support: STM32CubeIDE.

• Added the support of PCC examples for the STM32MP1 Series.

• Integration of the Cross Selector tool with both STMicroelectronics and competitors data.

Known limitations

Please refer to the RN

Fixed issues

57095 Calling HAL_PWR_EnableBkUpAccess() is only done for the STM32F1 Series.

57986 Bug in STM32CubeMX / STM32F0 LL Library internal ADC channel.

58265 [MX-Code Generation]: Release build not defining compiler.

62052 [MX-GUI] STM32CubeMX reset after dragging the chip in pinout view with Chinese translator activated.

62446 [MX-F7][SAI] Internal synchronization does not work.

63612 [MX-Graphics]: GFXSimulator warning is displayed

63747 [MX-TIM] TIM14 for STM32G0 does not support the input clearing source.

63762 [MX-CAN] CAN1 clock enable to be generated if only CAN2 is enabled.

63768 [MX-SPI] Cannot configure CRC poly.

Firmware package versions

STM32F0 V1.10.0

STM32F1 V1.7.0

STM32F2 V1.7.0

STM32F3 V1.10.0

STM32F4 V1.24.1

STM32F7 V1.15.0

STM32G0 V1.2.0

STM32G4 V1.0.0

STM32H7 V1.4.0

STM32L0 V1.11.2

STM32L1 V1.9.0

STM32L4 V1.14.0

STM32MP1 V1.0.1

STM32WB V1.1.0

Get the new version now

https://www.st.com/en/development-tools/stm32cubemx.html?sc=stm32cubemx

22 REPLIES 22
dave.W
Associate II

Hi,

I have problems generating code in V5.2.0 of STM32CubeMX for 'Other Toolchains (GPDSC)'. If I configure FreeRTOS the cmsis_os file references do not appear in the generated .gpdsc file. Reverting to V5.1.0 and following the same configuration the following lines are generated in the .gpdsc file:

    <file category="source" condition="" name="Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.c"/>

    <file category="header" condition="" name="Middlewares\Third_Party\FreeRTOS\Source\CMSIS_RTOS\cmsis_os.h"/>

Did you ever find a solution for running at 480MHz? We should need to go to 'Power Regulator Voltage Scale 0' (VOS0, DS12110 Rev 7, Page 240, Note 2) , and only on device revision V, and you must make sure the LDO regulator is on (DS12110 Rev 7, Page 215, Note 4). Table 147 says that the max VCO output frequency is 960 MHz, which would allow a 480MHz clock, but the STM32CubeMX 5.2.0 only alows up to 836MHz, even when I set the VOS to VOS0. So, maybe set the VOS0, and manually set (in code) the PLL to 480MHz? But only if you have a rev V silicon....

Hi Caleb,

I did not get an answer yet...

Guess that, indeed, we will have to hardcode the multiplier of the PLL to reach higher clock speeds.

I failed to notice that only revision V supports that speed, that introduces some nice dependencies :-/... Supply chain etc.

Best regards,

Martin

caleb
Associate III

Yeah, it's definitely a hassle with supply chain -- it's quite a meaningful difference in performance to be the same part number. I just had some boards assembled (with no knowledge of the Y/V distinction yet), and ended up with the Y version, so they are certainly still in the distribution channel.

-C

cwonlee
Associate

Hi,

I have a problem to compile a generated code in CubeMx5.2 with STM32Cube FW_F4 V1.24.1 firmware.

I'm using Nucleo STM32F446ZE MCU in this test.

If I select a tool chain to "IAR7.6" then  the generated code  has a lot of compile errors.

I also tested other tool chain with "IAR 8.2" and "KEIL5.xx", this case was OK,  and STM32F0 firlware + IAR7.6 case also OK.

kruft
Associate III

1) Problem with Stemwin graphics. If I choose stm32l4r7vi MCU I cannot use ILI9341 driver of stemwin library, I see message: "ILI9341 is available only with MCU STM32F429_439 and when SPI peripheral enabled"(see attach). But why I cannot use this with stm32l4r7vi via FMC interface?0690X000008wR4CQAU.png

2) And next bug or feature: If you make "Generate code" and choose EWARM8 and then choose EWARM7 and repeat "Generate code" CubeMX not create correct EWARM7 files (solution: clear folder with project files)

3) Next bug: CubeMX generate for EWARM 7 cmsis_iccarm.h with next define:

#define __RESTRICT      __restrict

but right: #define __RESTRICT      restrict

4) There is a problem with Stemwin generation for 8 bit MCU 8080 LCD_X_Config(void) contain PortAPI.pfWrite16_A0 (may be after 16 bit to 8 bit switch in CubeMX)

MTeun
Associate II

Similar problem with older ioc file. Cannot migrate...

2019-06-04 09:09:54,766 [INFO] MainDdrPanel:242 - [DDR PANEL] hideMenu

2019-06-04 09:09:58,898 [INFO] ImportTextPane:162 - (OptionalMessage_ERROR) IP (ADC1) : Parameter (Rank) has Id (0#ChannelRegularConversion) currently not set

2019-06-04 09:09:58,898 [INFO] ImportTextPane:162 - (OptionalMessage_ERROR) IP (ADC1) : Parameter (Channel) has Id (0#ChannelRegularConversion) currently not set

2019-06-04 09:09:58,899 [INFO] ImportTextPane:162 - (OptionalMessage_ERROR) IP (ADC1) : Parameter (SamplingTime) has Id (0#ChannelRegularConversion) currently not set

2019-06-04 09:09:58,902 [INFO] ImportTextPane:162 - (OptionalMessage_ERROR) IP (RCC) : Invalid parameter (FamilyName)

2019-06-04 09:09:58,904 [INFO] ImportTextPane:162 - (OptionalMessage_ERROR) IP (RCC) : Parameter (SDMMC2Freq_Value) has invalid value (216000000)

2019-06-04 09:09:59,167 [INFO] UtilMem:74 - End LoadConfig() Used Memory: 206508032 Bytes (317718528)

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchFieldError: VeryLightGray25percent

   at com.st.microxplorer.plugins.thirdparty.gui.view.Constants.<clinit>(Constants.java:17)

   at com.st.microxplorer.plugins.thirdparty.gui.view.FilterPanel.createResetButton(FilterPanel.java:137)

   at com.st.microxplorer.plugins.thirdparty.gui.view.FilterPanel.<init>(FilterPanel.java:121)

   at com.st.microxplorer.plugins.thirdparty.gui.view.UITreeTableRework.buildMainPanel(UITreeTableRework.java:903)

   at com.st.microxplorer.plugins.thirdparty.gui.view.UITreeTableRework.buildPanels(UITreeTableRework.java:798)

   at com.st.microxplorer.plugins.thirdparty.gui.view.UITreeTableRework.<init>(UITreeTableRework.java:144)

   at com.st.microxplorer.plugins.thirdparty.gui.ThirdPartyMVC.<init>(ThirdPartyMVC.java:48)

   at com.st.microxplorer.plugins.thirdparty.ThirdParty.propertyChange(ThirdParty.java:643)

   at java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:341)

   at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:333)

   at java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:266)

   at com.st.microxplorer.util.MXPropertyChangeSupport.firePropertyChange(MXPropertyChangeSupport.java:45)

   at com.st.microxplorer.mxsystem.MxSystem.completeLoadConfig(MxSystem.java:598)

   at com.st.microxplorer.plugins.filemanager.engine.OpenFileManager.LoadConfig(OpenFileManager.java:281)

   at com.st.microxplorer.plugins.filemanager.engine.OpenFileManager.loadConfigurationFile(OpenFileManager.java:198)

   at com.st.microxplorer.plugins.filemanager.engine.OpenFileManager.userChoiceLoadConfig(OpenFileManager.java:100)

   at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userChoiceAndLoadConfig(MainFileManager.java:169)

   at com.st.microxplorer.plugins.filemanager.FileManagerView$3.actionPerformed(FileManagerView.java:514)

   at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)

   at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)

   at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)

   at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)

   at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)

   at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)

   at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)

   at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)

   at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)

   at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)

   at java.desktop/java.awt.Component.processEvent(Component.java:6397)

   at java.desktop/java.awt.Container.processEvent(Container.java:2263)

   at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)

   at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)

   at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)

   at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)

   at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)

   at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)

   at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)

   at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)

   at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)

   at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)

   at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)

   at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)

   at java.base/java.security.AccessController.doPrivileged(Native Method)

   at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)

   at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)

   at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)

   at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)

   at java.base/java.security.AccessController.doPrivileged(Native Method)

   at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)

   at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)

   at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)

   at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)

   at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)

   at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)

   at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

   at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Swithgin back to 5.0.1 as well

Hi @Nawres GHARBI​,

did you already get information on the expected delivery date?

Is it just the integration in CubeMX, or are the TouchGFX libraries for H7 devices missing in general? I can't seem to find information about this. I want to migrate from a STM32F767 to STM32H743, but I'm not sure whether this can readily be done right now, or if there is still something missing on the STM-side that I'd need to wait for.

Best regards,

Max

IHS1
Associate II

This version not allow code generation for H7 LL (release v1.4.0).

@Nawres GHARBI​ - Where is the Eclipse plug-in version of this CubeMX?

The link you posted above seems to only provide the stand-alone EXE version.

Output of the stand-alone version cannot be read by the current STcubeIDE!

So, anyone that uses the version from the above link will be completely stuck!

I have asked the question on the Atollic forum but received no response.

https://forum.atollic.com/viewtopic.php?f=6&t=1868&p=4497#p4497

Thanks in advance for any help here,

Best Regards, Dave