cancel
Showing results for 
Search instead for 
Did you mean: 

CubeMx 6.13 open ioc file issue

MBassi
Associate III

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

 

1 ACCEPTED SOLUTION

Accepted Solutions
denysbondar
Associate

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.

View solution in original post

1 REPLY 1
denysbondar
Associate

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.