cancel
Showing results for 
Search instead for 
Did you mean: 

STM32Cube IDE fails to launch device configuration tool

debugging
Senior III

STM32CubeIDE

Version: 1.10.1

Build: 12716_20220707_0928 (UTC)

OS: Linux, v.5.15.0-46-lowlatency, x86_64 / gtk 3.24.33

Java vendor: Eclipse Adoptium

Java runtime version: 11.0.14.1+1

Java version: 11.0.14.1

Ubuntu 22.04.01

echo $XDG_SESSION_TYPE

x11

java --version

openjdk 11.0.16 2022-07-19

OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu122.04)

OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)

Fresh installed the IDE The project can be opened compiled nomally..

Attemtping to open an ioc file from the IDE with device configuration tool reuslts in below

I could succesfully install CubeMX though, but the integration in the IDE is so much easier to use to update code. It all worked before, but Ihad to reinstall Ubuntu and now it doesn't after installing CubeIDE. Have a hunch this has to do with the java version, but can't pinpoint what, it is.

java.lang.NullPointerException

   at com.st.microxplorer.maingui.HomePanel.InitStartupPanel(HomePanel.java:85)

   at com.st.microxplorer.maingui.HomePanel.<init>(HomePanel.java:61)

   at com.st.microxplorer.maingui.MainPanel.initialization(MainPanel.java:360)

   at com.st.microxplorer.maingui.AppletMainFrameCubeIde.init(AppletMainFrameCubeIde.java:242)

   at com.st.stm32cube.common.mx.core.CubeMxInstance.<init>(CubeMxInstance.java:95)

   at com.st.stm32cube.common.mx.core.CubeMxInstance.getInstance(CubeMxInstance.java:70)

   at com.st.stm32cube.common.mx.editor.CubeMxEditor.createPartControl(CubeMxEditor.java:1002)

.....

org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:91)

   at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:60)

   at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)

   at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)

   at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)

   at org.eclipse.ui.actions.OpenWithMenu.lambda$0(OpenWithMenu.java:182)

   at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)

   at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5895)

   at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)

   at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5126)

   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4581)

   at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)

   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)

   at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)

   at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)

   at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)

   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)

   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)

   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)

   at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)

   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)

   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)

   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)

   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)

   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)

   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

   at java.base/java.lang.reflect.Method.invoke(Method.java:566)

   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)

   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)

   at org.eclipse.equinox.launcher.Main.run(Main.java:1467)

   at org.eclipse.equinox.launcher.Main.main(Main.java:1440)

8 REPLIES 8
debugging
Senior III

This is what the MX readme states

Linux®: 64-bit (x64) (tested on Ubuntu® LTS and Fedora®)

Ubutnu 22.04 LTS

Version 11 is supported.

Versions 7, 9, 10, 12 and upper are not supported.

java -version

openjdk 11.0.16 2022-07-19

OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu122.04)

OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu122.04, mixed mode, sharing)

raptorhal2
Lead

When I tried the debian CubeIDE 1.10.1 installation with Ubuntu 22.04.1, device selection and Pin Configuration Tool worked OK, but the Clock Setting Tool wouldn't take setting LSE as RTC source. HSE, PLL and bus prescalar settings worked OK.

Then in the Editor view, would not accept clicking the Pin Configuration icon to go back.

The CUBEIDE User Manual says tested on 18.04 and 20.04, but 22.04 hasn't been out for very long. Perhaps ST can give us an integration status with 22.04.

I also tried TrueSTUDIO 9.3.0 with 22.04. In the Editor view, selecting a file in the file tree for display in the editor window resulted in the selection focus jumping down 3 files below. Since TrueSTUDIO is no longer supported, users may have to stick with 20.04, unless someone can figure out how to make it work with 22.04.

Cheers, Hal

debugging
Senior III

Already upgraded to 22.04.1 now.

CubeMX works ok for me, Just created a new project for STM432F401CCU6 and clock configuration works for external HSE and RTC clock.

This is my current flow:

  1. Install CubeMX, create new project (ok)
  2. Save and generate code for CubeIDE (ok), IDE opens from MX
  3. Buid project (ok)
  4. Select ioc file, right click and open with "Device ConfogurationTool) => fails as errors above

For existing projects, load the ioc file of the project in CubeMX.

The IDE uses it's own JRE as stated, not the ones installed on system level.,but not sure what java the device configuration tool expects. At system level have the ones below installedd. Neither of these above solve launching the device configration tool form CubeIDE.

There are 2 choices for the alternative java (providing /usr/bin/java).

 Selection   Path                                           Priority  Status

------------------------------------------------------------

 0           /usr/lib/jvm/java-11-openjdk-amd64/bin/java     1111     auto mode

 1           /usr/lib/jvm/java-11-openjdk-amd64/bin/java     1111     manual mode

* 2           /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java  1081     manual mode

 Everything else seems to work normal on 22.04.1

It was all installed from a clean Ubutu 22.04 system.

raptorhal2
Lead

Update: my experience was generating an STM32H750VI project on a 22.04.1 upgrade from a 20.10.

Cheers, Hal

debugging
Senior III

Thanks, I still have not figured it out, Hopefully a moderator from ST reads this post and had some ideas how to further debug this....

BGome.11
Associate

Did anyone managed to find some workaround? Thanks in advance

PGump.1
Senior

Hi,

I was having what sounds like a similar issue. What I found was - if I launched the MX tool too soon after starting CubeIDE, it would fail.

I noted that I had to wait for ALL the update checks, that appear in the "status bar" to conclude before starting MX (go and make a coffee, it takes several minutes).

Always close the MX tool before closing CudeIDE.

I hope this helps.

Pedro

AI = Artificial Intelligence, NI = No Intelligence, RI = Real Intelligence.

Now and on the latest and greatest IDE and CubeMX and on Ubuntu 23.04, clicking on on the ioc icon  still does not work . Amazing that after so many years still no solution or guidance how to fix this ?