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
  • Hi Sven

    Thanks for trying out Arm Development Studio!  Sorry to hear that you've hit this problem.

    The warning about Multi-drop SWD isn't the issue here, but the error
    Failed to read registers to identify component: Failed to read 16 bytes from address 0xE00F0FF0 on CSMEMAP_2
    may be the cause of the problem.

    You don't say which type of processor/board you are trying to connect to, but this problem is best investigated as a Support Case with Arm, so that Arm support and engineering teams can properly investigate.

    Please open a Support Case using the "Support > Open a Support Case" option at the top of this page, including more details such as the processor/board you are trying to connect to, and the full failing PCE log.

    Hope this helps,

    Stephen

Reply
  • Hi Sven

    Thanks for trying out Arm Development Studio!  Sorry to hear that you've hit this problem.

    The warning about Multi-drop SWD isn't the issue here, but the error
    Failed to read registers to identify component: Failed to read 16 bytes from address 0xE00F0FF0 on CSMEMAP_2
    may be the cause of the problem.

    You don't say which type of processor/board you are trying to connect to, but this problem is best investigated as a Support Case with Arm, so that Arm support and engineering teams can properly investigate.

    Please open a Support Case using the "Support > Open a Support Case" option at the top of this page, including more details such as the processor/board you are trying to connect to, and the full failing PCE log.

    Hope this helps,

    Stephen

Children