Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

System Workbench for STM32


Trouble launching debugger after upgrade to Eclipse 2020-3

Hello,

After upgrading to Eclipse 2020-3 (4.15.0) launching the debugger fails with a window popping up saying “Error within Debug UI:”:

Error Within Debug Ui

Eclipse logs the following:

LD_LIBRARY_PATH=/home/felix/tmp/eclipse-uprade-testing/eclipse/plugins/fr.ac6.mcu.externaltools.openocd.linux64_1.23.0.201904120827/tools/openocd/lib

OpenOCD launch command (run in /mnt/jupiter-smb/projekte/EETS/Development/Software/tlc-003):
/home/felix/tmp/eclipse-uprade-testing/eclipse/plugins/fr.ac6.mcu.externaltools.openocd.linux64_1.23.0.201904120827/tools/openocd/bin/openocd -f tlc-003.cfg -s /mnt/jupiter-smb/projekte/EETS/Development/Software/tlc-003 -s /home/felix/tmp/eclipse-uprade-testing/eclipse/plugins/fr.ac6.mcu.debug_2.5.0.201904120827/resources/openocd/st_scripts -c gdb_port 3333 -c tcl_port 6666 -c telnet_port 4444

I’m not sure where the problem is but it seems related to the System Workbench for STM32. On a fresh installation of Eclipse version 2019-12 everything is fine. The problem exists for LINUX (Ubuntu 18.04) as well as for Windows 10. Is there anything I can do to get some more information about this error?

many thanks, Felix

Here is some additional information from the error log.

The plugin concerned is is Debug UI (org.eclipse.debug.ui). Following is the stack trace:

java.lang.reflect.InvocationTargetException
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:397)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:469)
at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:237)
at org.eclipse.ui.internal.progress.ProgressManager.lambda$26(ProgressManager.java:820)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:853)
at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:829)
at org.eclipse.debug.internal.ui.DebugUIPlugin.launchInForeground(DebugUIPlugin.java:1103)
at org.eclipse.debug.ui.DebugUITools.launch(DebugUITools.java:980)
at org.eclipse.debug.ui.DebugUITools.launch(DebugUITools.java:784)
at org.eclipse.launchbar.ui.internal.commands.LaunchActiveCommandHandler.execute(LaunchActiveCommandHandler.java:43)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97)
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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:318)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:252)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
at org.eclipse.launchbar.ui.controls.internal.LaunchBarControl$1.widgetSelected(LaunchBarControl.java:162)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5687)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1423)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4955)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4448)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1160)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1049)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:658)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:154)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
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:657)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
at org.eclipse.equinox.launcher.Main.run(Main.java:1447)
at org.eclipse.equinox.launcher.Main.main(Main.java:1420)
Caused by: java.lang.NoSuchMethodError: ‘void org.eclipse.debug.internal.core.StreamsProxy.(java.lang.Process, java.lang.String)’
at fr.ac6.mcu.debug.openocd.processanalyzer.logger.OpenOCDStreamsProxy.(OpenOCDStreamsProxy.java:20)
at fr.ac6.mcu.debug.openocd.processanalyzer.logger.OpenOCDRuntimeProcess.createStreamsProxy(OpenOCDRuntimeProcess.java:268)
at fr.ac6.mcu.debug.openocd.processanalyzer.logger.OpenOCDRuntimeProcess.(OpenOCDRuntimeProcess.java:105)
at fr.ac6.mcu.debug.launching.MCUGdbProcessFactory.newProcess(MCUGdbProcessFactory.java:46)
at org.eclipse.debug.core.DebugPlugin.newProcess(DebugPlugin.java:802)
at fr.ac6.mcu.debug.launching.MCUGdbLaunch.addOpenOCDProcess(MCUGdbLaunch.java:131)
at fr.ac6.mcu.debug.launching.MCUGDBJtagDSFLaunchConfigurationDelegate.launch(MCUGDBJtagDSFLaunchConfigurationDelegate.java:315)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:860)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:719)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1017)
at org.eclipse.debug.internal.ui.DebugUIPlugin.lambda$5(DebugUIPlugin.java:1097)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)

I’m still not sure if reporting in this forum is correct, regards Felix


Hi Felix,

I’m sorry but the Eclipse ver. 2020-x is not supported as some core code in the C/C++ debug has changed. There is no fix for now.
Anyway, thank you for the report.

Regards,
Kevin.

Hello Kevin,

Thanks for the quick answer!
Well, then I will continue using Eclipse 2019-12 until a fix becomes available.

many thanks and kind regards, Felix

There are few post happening lately so I go no bits on my previous post. Anyway I also have debugger issues, I get a “undefined debug error 7 ” upon trying to access the target to debug. Since I just installed the ide I will check to see if the version I loaded is an older one or not. Is the 2020-3 version you refer to a beta or was it in realeased stage?

Thanks...Denis

I don’t think your issue is because of the tool version.
It looks like the debugger can’t communicate with your board. There is a ST tool (STM32 STLink Utilities) to check if your machine can connect to the board : https://www.st.com/en/development-tools/stsw-link004.html.Question

Also verify that the switch on your board are connected to use the ST-Link and every drivers are well-installed on your machine.

Regards.


Same trouble occured on win 10 + eclipse 202003(clean or 2019 uprgaded) + sw4stm32 plagin.
Message
An internal error occurred during: “Launching test Debug”.
org.eclipse.debug.internal.core.StreamsProxy.(Ljava/lang/Process;Ljava/lang/String;)V
looks like eclipse problem to run java injection code.
other toolchain report This usage of java/lang/Runtime.exec([Ljava/lang/String;)Ljava/lang/Process; can be vulnerable to Command Injection
But I’ve no idea to fix the bug.
Who can find right way?

Error log:


java.lang.NoSuchMethodError: org.eclipse.debug.internal.core.StreamsProxy.(Ljava/lang/Process;Ljava/lang/String;)V
at fr.ac6.mcu.debug.openocd.processanalyzer.logger.OpenOCDStreamsProxy.(OpenOCDStreamsProxy.java:20)
at fr.ac6.mcu.debug.openocd.processanalyzer.logger.OpenOCDRuntimeProcess.createStreamsProxy(OpenOCDRuntimeProcess.java:268)
at fr.ac6.mcu.debug.openocd.processanalyzer.logger.OpenOCDRuntimeProcess.(OpenOCDRuntimeProcess.java:105)
at fr.ac6.mcu.debug.launching.MCUGdbProcessFactory.newProcess(MCUGdbProcessFactory.java:46)
at org.eclipse.debug.core.DebugPlugin.newProcess(DebugPlugin.java:802)
at fr.ac6.mcu.debug.launching.MCUGdbLaunch.addOpenOCDProcess(MCUGdbLaunch.java:131)
at fr.ac6.mcu.debug.launching.MCUGDBJtagDSFLaunchConfigurationDelegate.launch(MCUGDBJtagDSFLaunchConfigurationDelegate.java:315)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:860)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:719)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1017)
at org.eclipse.debug.internal.ui.DebugUIPlugin$2.run(DebugUIPlugin.java:1220)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

At leat I see in both error logs same sintacs error - one sign in the end of row after bracket
Windows
java.lang.NoSuchMethodError: org.eclipse.debug.internal.core.StreamsProxy.(Ljava/lang/Process;Ljava/lang/String;)V
Linux
Caused by: java.lang.NoSuchMethodError: ‘void org.eclipse.debug.internal.core.StreamsProxy.(java.lang.Process, java.lang.String)’

I have the same issue. 2020-03 cannot start the debugger