This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Cannot debug STM32H7

Hi experts,

my company is considering transitioning from uVision to Arm Development Studio.
I'm currently evaluating this using the 30 day trial by recreating our current setup.

I'm now trying to download and debug code on the MCU using the built-in CMSIS-DAP and an ST-LINK.
But when trying to debug, the process just fails without any apparent error after the autodetection. No error is present in the main log.

I originally noticed the behavior with a custom board using an STM32H745IIK6 and an ST-LINK V2 but have since than verified the issue is also present with the same setup and an ST-LINK V3, a second custom board using an STM32H745IIT6 and both ST-LINK V2 and V3 and the STM32H747I-DISCO (STM32H747XI6H) board using the internal ST-LINK V3.

The PCE Log looks okay but includes a warning and an error:

[19/05/21 10:57:12] WARNING - Multi-drop SWD is not supported, a single DAP on the scanchain has been assumed.
[19/05/21 10:57:13] Failed to read registers to identify component: Failed to read 16 bytes from address 0xE00F0FF0 on CSMEMAP_2

When I try "Target Configuration", the autodetect fails with an error

But that isn't helping much either... The PCE is showing the same output as it does when I try to debug.

At leats in this case, the main log includes a callstack:

!ENTRY com.arm.debug.cmsis 4 0 2021-05-19 11:03:42.538
!MESSAGE Failed to automatically detect what devices are present
!STACK 0
com.arm.pce.exceptions.DSDetectException: Failed to automatically detect what devices are present
	at com.arm.debug.cmsis.launch.LaunchDelegate.autodetectWrapper(LaunchDelegate.java:486)
	at com.arm.debug.cmsis.launch.LaunchDelegate.setupConfigFiles(LaunchDelegate.java:401)
	at com.arm.debug.cmsis.launch.CMSISLaunchTab$3.widgetSelected(CMSISLaunchTab.java:240)
	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:4105)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1037)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3922)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3524)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
	at org.eclipse.jface.window.Window.open(Window.java:799)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.open(LaunchConfigurationsDialog.java:1240)
	at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPropertiesDialog.open(LaunchConfigurationPropertiesDialog.java:186)
	at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialog(DebugUITools.java:708)
	at com.arm.debug.launcher.DebugConfigurationLauncher.lambda$0(DebugConfigurationLauncher.java:23)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3897)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3527)
	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)

What am I doing wrong? At least accoridng to the PCE Log everything relevant is detected and working correctly.

Debugging using the same setup works without issues in Keil's uVision.

Thanks in advance!
Sven

Parents Reply Children