mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-06 17:26:01 +02:00
Bug 535024: Use deviceId for determine JTAG probe
The name of the JTAG probe is not translateable since the name is saved as-is in the launch configuration. To make the string translateable, use the id instead to select probe implementation. Change-Id: Id7e654ea1e26f47cd1c8ccfec857a94f3be9e0ad Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com> Signed-off-by: John Dallaway <john@dallaway.org.uk>
This commit is contained in:
parent
4c50b40f53
commit
a7b0a1fe80
8 changed files with 122 additions and 50 deletions
|
@ -1,19 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<component id="org.eclipse.cdt.debug.gdbjtag.core" version="2">
|
|
||||||
<resource path="src/org/eclipse/cdt/debug/gdbjtag/core/IGDBJtagConstants.java" type="org.eclipse.cdt.debug.gdbjtag.core.IGDBJtagConstants">
|
|
||||||
<filter id="388194388">
|
|
||||||
<message_arguments>
|
|
||||||
<message_argument value="org.eclipse.cdt.debug.gdbjtag.core.IGDBJtagConstants"/>
|
|
||||||
<message_argument value="DEFAULT_DO_HALT"/>
|
|
||||||
<message_argument value="1"/>
|
|
||||||
</message_arguments>
|
|
||||||
</filter>
|
|
||||||
<filter id="388194388">
|
|
||||||
<message_arguments>
|
|
||||||
<message_argument value="org.eclipse.cdt.debug.gdbjtag.core.IGDBJtagConstants"/>
|
|
||||||
<message_argument value="DEFAULT_DO_RESET"/>
|
|
||||||
<message_argument value="1"/>
|
|
||||||
</message_arguments>
|
|
||||||
</filter>
|
|
||||||
</resource>
|
|
||||||
</component>
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||||
Bundle-ManifestVersion: 2
|
Bundle-ManifestVersion: 2
|
||||||
Bundle-Name: %pluginName
|
Bundle-Name: %pluginName
|
||||||
Bundle-SymbolicName: org.eclipse.cdt.debug.gdbjtag.core;singleton:=true
|
Bundle-SymbolicName: org.eclipse.cdt.debug.gdbjtag.core;singleton:=true
|
||||||
Bundle-Version: 9.2.0.qualifier
|
Bundle-Version: 10.0.0.qualifier
|
||||||
Bundle-Activator: org.eclipse.cdt.debug.gdbjtag.core.Activator
|
Bundle-Activator: org.eclipse.cdt.debug.gdbjtag.core.Activator
|
||||||
Bundle-Localization: plugin
|
Bundle-Localization: plugin
|
||||||
Require-Bundle: org.eclipse.core.runtime,
|
Require-Bundle: org.eclipse.core.runtime,
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<meta.schema plugin="org.eclipse.cdt.debug.gdbjtag.core" id="JTagDevice" name="%JTagDevice.name"/>
|
<meta.schema plugin="org.eclipse.cdt.debug.gdbjtag.core" id="JTagDevice" name="%JTagDevice.name"/>
|
||||||
</appInfo>
|
</appInfo>
|
||||||
<documentation>
|
<documentation>
|
||||||
Jtag device extension point
|
JTAG device extension point
|
||||||
</documentation>
|
</documentation>
|
||||||
</annotation>
|
</annotation>
|
||||||
|
|
||||||
|
@ -49,14 +49,14 @@
|
||||||
<attribute name="id" type="string" use="required">
|
<attribute name="id" type="string" use="required">
|
||||||
<annotation>
|
<annotation>
|
||||||
<documentation>
|
<documentation>
|
||||||
Unique if of the jtag device contribution.
|
Unique id of the JTAG device contribution.
|
||||||
</documentation>
|
</documentation>
|
||||||
</annotation>
|
</annotation>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="name" type="string" use="required">
|
<attribute name="name" type="string" use="required">
|
||||||
<annotation>
|
<annotation>
|
||||||
<documentation>
|
<documentation>
|
||||||
Name of the JTag device.
|
Name of the JTAG device.
|
||||||
</documentation>
|
</documentation>
|
||||||
</annotation>
|
</annotation>
|
||||||
</attribute>
|
</attribute>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2007, 2017 QNX Software Systems and others.
|
* Copyright (c) 2007, 2018 QNX Software Systems and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -17,6 +17,7 @@
|
||||||
* Marc Khouzam (Ericsson) - Cannot disable Delay command (bug 413437)
|
* Marc Khouzam (Ericsson) - Cannot disable Delay command (bug 413437)
|
||||||
* John Dallaway - Execute run commands before resume (Bug 525692)
|
* John Dallaway - Execute run commands before resume (Bug 525692)
|
||||||
* John Dallaway - Test for reset/delay/halt command not defined (Bug 361881)
|
* John Dallaway - Test for reset/delay/halt command not defined (Bug 361881)
|
||||||
|
* Torbjörn Svensson (STMicroelectronics) - Bug 535024
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.debug.gdbjtag.core;
|
package org.eclipse.cdt.debug.gdbjtag.core;
|
||||||
|
|
||||||
|
@ -238,7 +239,7 @@ public class GDBJtagDSFFinalLaunchSequence extends FinalLaunchSequence {
|
||||||
public void stepRetrieveJTAGDevice(final RequestMonitor rm) {
|
public void stepRetrieveJTAGDevice(final RequestMonitor rm) {
|
||||||
Exception exception = null;
|
Exception exception = null;
|
||||||
try {
|
try {
|
||||||
fGdbJtagDevice = getGDBJtagDevice();
|
fGdbJtagDevice = getGDBJtagDeviceContribution().getDevice();
|
||||||
} catch (NullPointerException e) {
|
} catch (NullPointerException e) {
|
||||||
exception = e;
|
exception = e;
|
||||||
}
|
}
|
||||||
|
@ -630,20 +631,33 @@ public class GDBJtagDSFFinalLaunchSequence extends FinalLaunchSequence {
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getGDBJtagDeviceName() {
|
private String getGDBJtagDeviceName() {
|
||||||
return CDebugUtils.getAttribute(getAttributes(), IGDBJtagConstants.ATTR_JTAG_DEVICE, IGDBJtagConstants.DEFAULT_JTAG_DEVICE);
|
GDBJtagDeviceContribution contribution = getGDBJtagDeviceContribution();
|
||||||
|
if (contribution != null) {
|
||||||
|
return contribution.getDeviceName();
|
||||||
|
}
|
||||||
|
return IGDBJtagConstants.DEFAULT_JTAG_DEVICE_NAME;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IGDBJtagDevice getGDBJtagDevice () {
|
@SuppressWarnings("deprecation")
|
||||||
IGDBJtagDevice gdbJtagDevice = null;
|
private GDBJtagDeviceContribution getGDBJtagDeviceContribution() {
|
||||||
String jtagDeviceName = getGDBJtagDeviceName();
|
Map<String, Object> attributes = getAttributes();
|
||||||
GDBJtagDeviceContribution[] availableDevices = GDBJtagDeviceContributionFactory.getInstance().getGDBJtagDeviceContribution();
|
if (attributes.containsKey(IGDBJtagConstants.ATTR_JTAG_DEVICE_ID)) {
|
||||||
for (GDBJtagDeviceContribution availableDevice : availableDevices) {
|
String deviceId = CDebugUtils.getAttribute(attributes, IGDBJtagConstants.ATTR_JTAG_DEVICE_ID, "");
|
||||||
if (jtagDeviceName.equals(availableDevice.getDeviceName())) {
|
if (!deviceId.isEmpty()) {
|
||||||
gdbJtagDevice = availableDevice.getDevice();
|
return GDBJtagDeviceContributionFactory.getInstance().findByDeviceId(deviceId);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return gdbJtagDevice;
|
|
||||||
|
// Fall back to old behavior with name only if ID is missing
|
||||||
|
if (attributes.containsKey(IGDBJtagConstants.ATTR_JTAG_DEVICE)) {
|
||||||
|
String deviceName = CDebugUtils.getAttribute(attributes, IGDBJtagConstants.ATTR_JTAG_DEVICE, "");
|
||||||
|
if (!deviceName.isEmpty()) {
|
||||||
|
return GDBJtagDeviceContributionFactory.getInstance().findByDeviceName(deviceName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// No matching device contribution found
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
* QNX Software Systems - Initial API and implementation
|
* QNX Software Systems - Initial API and implementation
|
||||||
* Andy Jin - Hardware debugging UI improvements, bug 229946
|
* Andy Jin - Hardware debugging UI improvements, bug 229946
|
||||||
* John Dallaway - Disable reset and halt by default, bug 529171
|
* John Dallaway - Disable reset and halt by default, bug 529171
|
||||||
|
* Torbjörn Svensson (STMicroelectronics) - Bug 535024
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.cdt.debug.gdbjtag.core;
|
package org.eclipse.cdt.debug.gdbjtag.core;
|
||||||
|
@ -23,7 +24,9 @@ public interface IGDBJtagConstants {
|
||||||
public static final String ATTR_USE_REMOTE_TARGET = Activator.PLUGIN_ID + ".useRemoteTarget"; //$NON-NLS-1$
|
public static final String ATTR_USE_REMOTE_TARGET = Activator.PLUGIN_ID + ".useRemoteTarget"; //$NON-NLS-1$
|
||||||
public static final String ATTR_IP_ADDRESS = Activator.PLUGIN_ID + ".ipAddress"; //$NON-NLS-1$
|
public static final String ATTR_IP_ADDRESS = Activator.PLUGIN_ID + ".ipAddress"; //$NON-NLS-1$
|
||||||
public static final String ATTR_PORT_NUMBER = Activator.PLUGIN_ID + ".portNumber"; //$NON-NLS-1$
|
public static final String ATTR_PORT_NUMBER = Activator.PLUGIN_ID + ".portNumber"; //$NON-NLS-1$
|
||||||
|
/** @deprecated Use {@link #ATTR_JTAG_DEVICE ID} instead */
|
||||||
public static final String ATTR_JTAG_DEVICE = Activator.PLUGIN_ID + ".jtagDevice"; //$NON-NLS-1$
|
public static final String ATTR_JTAG_DEVICE = Activator.PLUGIN_ID + ".jtagDevice"; //$NON-NLS-1$
|
||||||
|
/** @since 10.0*/ public static final String ATTR_JTAG_DEVICE_ID = Activator.PLUGIN_ID + ".jtagDeviceId"; //$NON-NLS-1$
|
||||||
|
|
||||||
public static final boolean DEFAULT_USE_REMOTE_TARGET = true;
|
public static final boolean DEFAULT_USE_REMOTE_TARGET = true;
|
||||||
public static final String DEFAULT_IP_ADDRESS = "unspecified-ip-address"; //$NON-NLS-1$
|
public static final String DEFAULT_IP_ADDRESS = "unspecified-ip-address"; //$NON-NLS-1$
|
||||||
|
@ -73,6 +76,12 @@ public interface IGDBJtagConstants {
|
||||||
/** @since 7.0 */ public static final String DEFAULT_SYMBOLS_OFFSET = ""; //$NON-NLS-1$
|
/** @since 7.0 */ public static final String DEFAULT_SYMBOLS_OFFSET = ""; //$NON-NLS-1$
|
||||||
/** @since 7.0 */ public static final String DEFAULT_PC_REGISTER = ""; //$NON-NLS-1$
|
/** @since 7.0 */ public static final String DEFAULT_PC_REGISTER = ""; //$NON-NLS-1$
|
||||||
/** @since 7.0 */ public static final String DEFAULT_STOP_AT = ""; //$NON-NLS-1$
|
/** @since 7.0 */ public static final String DEFAULT_STOP_AT = ""; //$NON-NLS-1$
|
||||||
/** @since 7.0 */ public static final String DEFAULT_JTAG_DEVICE = ""; //$NON-NLS-1$
|
/** @since 10.0*/ public static final String DEFAULT_JTAG_DEVICE_ID = ""; //$NON-NLS-1$
|
||||||
|
/** @since 10.0*/ public static final String DEFAULT_JTAG_DEVICE_NAME = ""; //$NON-NLS-1$
|
||||||
|
/**
|
||||||
|
* @since 7.0
|
||||||
|
* @deprecated Use either {@link #DEFAULT_JTAG_DEVICE_ID} or {@link #DEFAULT_JTAG_DEVICE_NAME}
|
||||||
|
*/
|
||||||
|
public static final String DEFAULT_JTAG_DEVICE = ""; //$NON-NLS-1$
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2008, 2010 QNX Software Systems and others.
|
* Copyright (c) 2008, 2018 QNX Software Systems and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -11,6 +11,7 @@
|
||||||
* Bruce Griffith, Sage Electronic Engineering, LLC - bug 305943
|
* Bruce Griffith, Sage Electronic Engineering, LLC - bug 305943
|
||||||
* - API generalization to become transport-independent (allow
|
* - API generalization to become transport-independent (allow
|
||||||
* connections via serial ports and pipes).
|
* connections via serial ports and pipes).
|
||||||
|
* Torbjörn Svensson (STMicroelectronics) - Bug 535024
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.debug.gdbjtag.core.jtagdevice;
|
package org.eclipse.cdt.debug.gdbjtag.core.jtagdevice;
|
||||||
|
|
||||||
|
@ -94,4 +95,27 @@ public class GDBJtagDeviceContributionFactory {
|
||||||
return (elementValue != null) ? elementValue : defaultValue;
|
return (elementValue != null) ? elementValue : defaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @since 10.0
|
||||||
|
*/
|
||||||
|
public GDBJtagDeviceContribution findByDeviceName(String name) {
|
||||||
|
for (GDBJtagDeviceContribution contribution : getGDBJtagDeviceContribution()) {
|
||||||
|
if (contribution.getDeviceName().equals(name)) {
|
||||||
|
return contribution;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @since 10.0
|
||||||
|
*/
|
||||||
|
public GDBJtagDeviceContribution findByDeviceId(String id) {
|
||||||
|
for (GDBJtagDeviceContribution contribution : getGDBJtagDeviceContribution()) {
|
||||||
|
if (contribution.getDeviceId().equals(id)) {
|
||||||
|
return contribution;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||||
Bundle-ManifestVersion: 2
|
Bundle-ManifestVersion: 2
|
||||||
Bundle-Name: %pluginName
|
Bundle-Name: %pluginName
|
||||||
Bundle-SymbolicName: org.eclipse.cdt.debug.gdbjtag.ui;singleton:=true
|
Bundle-SymbolicName: org.eclipse.cdt.debug.gdbjtag.ui;singleton:=true
|
||||||
Bundle-Version: 8.0.2.qualifier
|
Bundle-Version: 8.1.0.qualifier
|
||||||
Bundle-Activator: org.eclipse.cdt.debug.gdbjtag.ui.Activator
|
Bundle-Activator: org.eclipse.cdt.debug.gdbjtag.ui.Activator
|
||||||
Bundle-Localization: plugin
|
Bundle-Localization: plugin
|
||||||
Require-Bundle: org.eclipse.ui,
|
Require-Bundle: org.eclipse.ui,
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
* - API generalization to become transport-independent (e.g. to
|
* - API generalization to become transport-independent (e.g. to
|
||||||
* allow connections via serial ports and pipes).
|
* allow connections via serial ports and pipes).
|
||||||
* John Dallaway - Ensure correct SessionType enabled, bug 334110
|
* John Dallaway - Ensure correct SessionType enabled, bug 334110
|
||||||
|
* Torbjörn Svensson (STMicroelectronics) - Bug 535024
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.cdt.debug.gdbjtag.ui;
|
package org.eclipse.cdt.debug.gdbjtag.ui;
|
||||||
|
@ -384,7 +385,7 @@ public class GDBJtagDSFDebuggerTab extends AbstractLaunchConfigurationTab {
|
||||||
ipAddress.setEnabled(enabled);
|
ipAddress.setEnabled(enabled);
|
||||||
portNumber.setEnabled(enabled);
|
portNumber.setEnabled(enabled);
|
||||||
connection.setEnabled(enabled);
|
connection.setEnabled(enabled);
|
||||||
GDBJtagDeviceContribution selectedDeviceEntry = findJtagDeviceByName(jtagDevice.getText());
|
GDBJtagDeviceContribution selectedDeviceEntry = GDBJtagDeviceContributionFactory.getInstance().findByDeviceName(jtagDevice.getText());
|
||||||
if ((selectedDeviceEntry == null) || (selectedDeviceEntry.getDevice() == null)) {
|
if ((selectedDeviceEntry == null) || (selectedDeviceEntry.getDevice() == null)) {
|
||||||
remoteConnectParmsLayout.topControl = null;
|
remoteConnectParmsLayout.topControl = null;
|
||||||
remoteConnectionParameters.layout();
|
remoteConnectionParameters.layout();
|
||||||
|
@ -400,13 +401,50 @@ public class GDBJtagDSFDebuggerTab extends AbstractLaunchConfigurationTab {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private GDBJtagDeviceContribution findJtagDeviceByName(String name) {
|
/**
|
||||||
GDBJtagDeviceContribution[] availableDevices = GDBJtagDeviceContributionFactory.getInstance().getGDBJtagDeviceContribution();
|
* Returns the device name for a given device id or {@link IGDBJtagConstants.DEFAULT_JTAG_DEVICE_NAME}
|
||||||
for (GDBJtagDeviceContribution device : availableDevices) {
|
*
|
||||||
if (device.getDeviceName().equals(name)) {
|
* @param jtagDeviceId The device id
|
||||||
return device;
|
* @return The device id if found, else {@link IGDBJtagConstants.DEFAULT_JTAG_DEVICE_NAME}
|
||||||
}
|
* @since 8.1
|
||||||
|
*/
|
||||||
|
protected String getDeviceNameForDeviceId(String jtagDeviceId) {
|
||||||
|
GDBJtagDeviceContribution contribution = GDBJtagDeviceContributionFactory.getInstance().findByDeviceId(jtagDeviceId);
|
||||||
|
if (contribution != null) {
|
||||||
|
return contribution.getDeviceName();
|
||||||
}
|
}
|
||||||
|
return IGDBJtagConstants.DEFAULT_JTAG_DEVICE_NAME;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the device id for a given device name or {@link IGDBJtagConstants.DEFAULT_JTAG_DEVICE_ID}
|
||||||
|
*
|
||||||
|
* @param jtagDeviceName The device name
|
||||||
|
* @return The device id if found, else {@link IGDBJtagConstants.DEFAULT_JTAG_DEVICE_ID}
|
||||||
|
* @since 8.1
|
||||||
|
*/
|
||||||
|
protected String getDeviceIdForDeviceName(String jtagDeviceName) {
|
||||||
|
GDBJtagDeviceContribution device = GDBJtagDeviceContributionFactory.getInstance().findByDeviceName(jtagDeviceName);
|
||||||
|
if (device != null) {
|
||||||
|
return device.getDeviceId();
|
||||||
|
}
|
||||||
|
return IGDBJtagConstants.DEFAULT_JTAG_DEVICE_ID;
|
||||||
|
}
|
||||||
|
|
||||||
|
private GDBJtagDeviceContribution getDeviceContribution(ILaunchConfiguration configuration) throws CoreException {
|
||||||
|
String deviceId = configuration.getAttribute(IGDBJtagConstants.ATTR_JTAG_DEVICE_ID, (String)null);
|
||||||
|
if (deviceId != null) {
|
||||||
|
return GDBJtagDeviceContributionFactory.getInstance().findByDeviceId(deviceId);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fall back to old behavior with name only if ID is missing
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
String deviceName = configuration.getAttribute(IGDBJtagConstants.ATTR_JTAG_DEVICE, (String)null);
|
||||||
|
if (deviceName != null) {
|
||||||
|
return GDBJtagDeviceContributionFactory.getInstance().findByDeviceName(deviceName);
|
||||||
|
}
|
||||||
|
|
||||||
|
// No matching device contribution found
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -422,8 +460,14 @@ public class GDBJtagDSFDebuggerTab extends AbstractLaunchConfigurationTab {
|
||||||
IGDBJtagConstants.DEFAULT_USE_REMOTE_TARGET);
|
IGDBJtagConstants.DEFAULT_USE_REMOTE_TARGET);
|
||||||
useRemote.setSelection(useRemoteAttr);
|
useRemote.setSelection(useRemoteAttr);
|
||||||
|
|
||||||
savedJtagDevice = configuration.getAttribute(IGDBJtagConstants.ATTR_JTAG_DEVICE, "");
|
GDBJtagDeviceContribution savedDeviceContribution = getDeviceContribution(configuration);
|
||||||
if (savedJtagDevice.length() == 0) {
|
if (savedDeviceContribution != null) {
|
||||||
|
savedJtagDevice = savedDeviceContribution.getDeviceName();
|
||||||
|
} else {
|
||||||
|
savedJtagDevice = IGDBJtagConstants.DEFAULT_JTAG_DEVICE_NAME;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (savedJtagDevice.isEmpty()) {
|
||||||
jtagDevice.select(0);
|
jtagDevice.select(0);
|
||||||
} else {
|
} else {
|
||||||
String storedAddress = ""; //$NON-NLS-1$
|
String storedAddress = ""; //$NON-NLS-1$
|
||||||
|
@ -485,7 +529,7 @@ public class GDBJtagDSFDebuggerTab extends AbstractLaunchConfigurationTab {
|
||||||
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
|
public void performApply(ILaunchConfigurationWorkingCopy configuration) {
|
||||||
configuration.setAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME, gdbCommand.getText().trim()); // DSF
|
configuration.setAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME, gdbCommand.getText().trim()); // DSF
|
||||||
savedJtagDevice = jtagDevice.getText();
|
savedJtagDevice = jtagDevice.getText();
|
||||||
configuration.setAttribute(IGDBJtagConstants.ATTR_JTAG_DEVICE, savedJtagDevice);
|
configuration.setAttribute(IGDBJtagConstants.ATTR_JTAG_DEVICE_ID, getDeviceIdForDeviceName(savedJtagDevice));
|
||||||
configuration.setAttribute(IGDBJtagConstants.ATTR_USE_REMOTE_TARGET, useRemote.getSelection());
|
configuration.setAttribute(IGDBJtagConstants.ATTR_USE_REMOTE_TARGET, useRemote.getSelection());
|
||||||
if (useRemote.getSelection()) {
|
if (useRemote.getSelection()) {
|
||||||
// ensure LaunchUtils.getSessionType() returns SessionType.REMOTE (bug 334110)
|
// ensure LaunchUtils.getSessionType() returns SessionType.REMOTE (bug 334110)
|
||||||
|
@ -495,9 +539,9 @@ public class GDBJtagDSFDebuggerTab extends AbstractLaunchConfigurationTab {
|
||||||
// ensure LaunchUtils.getSessionType() returns the default session type
|
// ensure LaunchUtils.getSessionType() returns the default session type
|
||||||
configuration.removeAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE);
|
configuration.removeAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE);
|
||||||
}
|
}
|
||||||
if (savedJtagDevice.length() > 0) {
|
if (!savedJtagDevice.isEmpty()) {
|
||||||
try {
|
try {
|
||||||
IGDBJtagDevice device = findJtagDeviceByName(jtagDevice.getText()).getDevice();
|
IGDBJtagDevice device = GDBJtagDeviceContributionFactory.getInstance().findByDeviceName(savedJtagDevice).getDevice();
|
||||||
if (device instanceof IGDBJtagConnection) {
|
if (device instanceof IGDBJtagConnection) {
|
||||||
String conn = connection.getText().trim();
|
String conn = connection.getText().trim();
|
||||||
URI uri = new URI("gdb", conn, ""); //$NON-NLS-1$ //$NON-NLS-2$
|
URI uri = new URI("gdb", conn, ""); //$NON-NLS-1$ //$NON-NLS-2$
|
||||||
|
|
Loading…
Add table
Reference in a new issue