Skip to main content
MBassi
Associate III
February 14, 2025
Solved

CubeMx 6.13 open ioc file issue

  • February 14, 2025
  • 1 reply
  • 1837 views

Hi,

I'm trying to import an ioc file for STM32MP257f-ev1. The original project was build on CubeMx 6.13 for MAC-OS using FW_MP2_V1.0.0 and I'm using CubeMx 6.13 under linux. When I open the .ioc file, It asked me if I want to migrate to FW_MP2_V1.1.0 or continue with the current version. If I choose to migrate everthing goes fine, but I continue with current package version CubeMX stack during the "Render UI" progress bar phase.

Could someone help me?
Marco.

This is got the error log I got on terminal:

Spoiler
[FATAL] ProcessBarDialog:168 - ProcessBarDialog action 4
java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "com.st.microxplorer.mcu.IP.getParameterValue(String, String)" is null
at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:?]
at java.util.concurrent.FutureTask.get(FutureTask.java:191) ~[?:?]
at javax.swing.SwingWorker.get(SwingWorker.java:612) ~[?:?]
at com.st.microxplorer.util.ProcessBarDialog$1.done(ProcessBarDialog.java:164) ~[STM32CubeMX:?]
at javax.swing.SwingWorker$4.run(SwingWorker.java:749) ~[?:?]
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:847) ~[?:?]
at sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112) ~[?:?]
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:857) ~[?:?]
at javax.swing.Timer.fireActionPerformed(Timer.java:311) ~[?:?]
at javax.swing.Timer$DoPostEvent.run(Timer.java:243) ~[?:?]
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) ~[?:?]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:720) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:714) ~[?:?]
at java.security.AccessController.doPrivileged(AccessController.java:400) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:742) ~[?:?]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) ~[?:?]
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191) ~[?:?]
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236) ~[?:?]
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234) ~[?:?]
at java.security.AccessController.doPrivileged(AccessController.java:319) ~[?:?]
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234) ~[?:?]
at java.awt.Dialog.show(Dialog.java:1079) ~[?:?]
at java.awt.Component.show(Component.java:1728) ~[?:?]
at java.awt.Component.setVisible(Component.java:1675) ~[?:?]
at java.awt.Window.setVisible(Window.java:1036) ~[?:?]
at java.awt.Dialog.setVisible(Dialog.java:1015) ~[?:?]
at com.st.microxplorer.util.ProcessBarDialog.doAction(ProcessBarDialog.java:173) ~[STM32CubeMX:?]
at com.st.microxplorer.mxsystem.MxSystem.completeLoadConfig(MxSystem.java:828) ~[STM32CubeMX:?]
at com.st.microxplorer.plugins.filemanager.engine.OpenFileManager.LoadConfig(OpenFileManager.java:355) ~[?:?]
at com.st.microxplorer.plugins.filemanager.engine.OpenFileManager.loadConfigurationFile(OpenFileManager.java:269) ~[?:?]
at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userLoadConfig(MainFileManager.java:340) ~[?:?]
at com.st.microxplorer.plugins.filemanager.engine.MainFileManager.userLoadConfig(MainFileManager.java:318) ~[?:?]
at com.st.microxplorer.plugins.filemanager.FileManagerView.getSpecificTask(FileManagerView.java:246) ~[?:?]
at com.st.microxplorer.maingui.HomeProjectLinePanel.jButtonLoadConfigurationActionPerformed(HomeProjectLinePanel.java:190) ~[STM32CubeMX:?]
at com.st.microxplorer.maingui.HomeProjectLinePanel.mouseClicked(HomeProjectLinePanel.java:132) ~[STM32CubeMX:?]
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:278) ~[?:?]
at java.awt.Component.processMouseEvent(Component.java:6624) ~[?:?]
at javax.swing.JComponent.processMouseEvent(JComponent.java:3398) ~[?:?]
at java.awt.Component.processEvent(Component.java:6386) ~[?:?]
at java.awt.Container.processEvent(Container.java:2266) ~[?:?]
at java.awt.Component.dispatchEventImpl(Component.java:4996) ~[?:?]
at java.awt.Container.dispatchEventImpl(Container.java:2324) ~[?:?]
at java.awt.Component.dispatchEvent(Component.java:4828) ~[?:?]
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) ~[?:?]
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4584) ~[?:?]
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) ~[?:?]
at java.awt.Container.dispatchEventImpl(Container.java:2310) ~[?:?]
at java.awt.Window.dispatchEventImpl(Window.java:2780) ~[?:?]
at java.awt.Component.dispatchEvent(Component.java:4828) ~[?:?]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:720) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:714) ~[?:?]
at java.security.AccessController.doPrivileged(AccessController.java:400) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98) ~[?:?]
at java.awt.EventQueue$5.run(EventQueue.java:747) ~[?:?]
at java.awt.EventQueue$5.run(EventQueue.java:745) ~[?:?]
at java.security.AccessController.doPrivileged(AccessController.java:400) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) ~[?:?]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:744) ~[?:?]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) ~[?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) ~[?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[?:?]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) ~[?:?]
Caused by: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because the return value of "com.st.microxplorer.mcu.IP.getParameterValue(String, String)" is null
at com.st.microxplorer.plugins.ip.hash.HASH.isHashMaC(HASH.java:173) ~[?:?]
at com.st.microxplorer.plugins.ip.hash.HASH.onEnable(HASH.java:75) ~[?:?]
at com.st.microxplorer.plugins.ipmanager.pluginmanagement.IPUIPlugin.onEnablePlugin(IPUIPlugin.java:264) ~[?:?]
at com.st.microxplorer.plugins.ipmanager.gui.IPsOverviews.enableDisableButtons(IPsOverviews.java:2587) ~[?:?]
at com.st.microxplorer.plugins.ipmanager.gui.IPsOverviews.DisplayView(IPsOverviews.java:786) ~[?:?]
at com.st.microxplorer.plugins.ipmanager.gui.BlockDiagram.createOverviews(BlockDiagram.java:679) ~[?:?]
at com.st.microxplorer.plugins.ipmanager.gui.BlockDiagram.updateUIPanel(BlockDiagram.java:695) ~[?:?]
at com.st.microxplorer.plugins.ipmanager.gui.BlockDiagram.createPanels(BlockDiagram.java:643) ~[?:?]
at com.st.microxplorer.plugins.ipmanager.gui.BlockDiagram.propertyChange(BlockDiagram.java:1173) ~[?:?]
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343) ~[?:?]
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335) ~[?:?]
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268) ~[?:?]
at com.st.microxplorer.util.MXPropertyChangeSupport.firePropertyChange(MXPropertyChangeSupport.java:54) ~[STM32CubeMX:?]
at com.st.microxplorer.mxsystem.MxSystem.swingWorkerCompleteLoadConfig(MxSystem.java:834) ~[STM32CubeMX:?]
at com.st.microxplorer.util.ProcessBarDialog.performAction(ProcessBarDialog.java:95) ~[STM32CubeMX:?]
at com.st.microxplorer.util.ProcessBarDialog$1.doInBackground(ProcessBarDialog.java:157) ~[STM32CubeMX:?]
at com.st.microxplorer.util.ProcessBarDialog$1.doInBackground(ProcessBarDialog.java:154) ~[STM32CubeMX:?]
at javax.swing.SwingWorker$1.call(SwingWorker.java:305) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
at javax.swing.SwingWorker.run(SwingWorker.java:342) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.lang.Thread.run(Thread.java:1583) ~[?:?]
2025-02-14 11:46:46,875 [INFO] OpenFileManager:363 - Restore cursor

 

Best answer by denysbondar

I get exactly the same error when trying to open a project on STM32F103CBT6 version 6.13.0 in cube 6.14.0, 6.14.1, 6.15.0.

 

STM32CubeMX versions 6.14.0 through 6.15.0 inclusive do not correctly process Locked=true for pins.

Open your project.ioc in a text editor. Find pins like:
PA11.Locked=true
and delete these lines.
But that's not all.
Now you need to find these pins in the MCU section. There you will see lines with pin numbers in order and their corresponding names, such as:
Mcu.Pin17=PA11
You also need to delete them.
And now you need to renumber all Mcu.PinXX so that there are no gaps. Be careful. All Mcu.PinXX must be in order.
Also, Mcu.PinsNb=XX must contain the number of the next free pin.

1 reply

denysbondarBest answer
Explorer II
August 22, 2025

I get exactly the same error when trying to open a project on STM32F103CBT6 version 6.13.0 in cube 6.14.0, 6.14.1, 6.15.0.

 

STM32CubeMX versions 6.14.0 through 6.15.0 inclusive do not correctly process Locked=true for pins.

Open your project.ioc in a text editor. Find pins like:
PA11.Locked=true
and delete these lines.
But that's not all.
Now you need to find these pins in the MCU section. There you will see lines with pin numbers in order and their corresponding names, such as:
Mcu.Pin17=PA11
You also need to delete them.
And now you need to renumber all Mcu.PinXX so that there are no gaps. Be careful. All Mcu.PinXX must be in order.
Also, Mcu.PinsNb=XX must contain the number of the next free pin.