forked from qt-creator/qt-creator
baremetal: add openocd pipelining support
Change-Id: Idcfdd42f741319f81cc378687451693facdb955f Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
@@ -30,7 +30,7 @@
|
|||||||
<item row="3" column="1">
|
<item row="3" column="1">
|
||||||
<widget class="QLineEdit" name="hostNameLineEdit">
|
<widget class="QLineEdit" name="hostNameLineEdit">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>localhost</string>
|
<string>|openocd -c "gdb_port pipe" -c "log_output openocd.log;" -f board/stm3241g_eval_stlink.cfg</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|||||||
@@ -98,6 +98,9 @@ DebuggerStartParameters BareMetalRunControlFactory::startParameters(const BareMe
|
|||||||
params.projectBuildDirectory = buildConfig->buildDirectory().toString();
|
params.projectBuildDirectory = buildConfig->buildDirectory().toString();
|
||||||
params.projectSourceFiles = project->files(Project::ExcludeGeneratedFiles);
|
params.projectSourceFiles = project->files(Project::ExcludeGeneratedFiles);
|
||||||
}
|
}
|
||||||
|
if (device->sshParameters().host.startsWith(QLatin1Char('|'))) //gdb pipe mode enabled
|
||||||
|
params.remoteChannel = device->sshParameters().host;
|
||||||
|
else
|
||||||
params.remoteChannel = device->sshParameters().host + QLatin1String(":") + QString::number(device->sshParameters().port);
|
params.remoteChannel = device->sshParameters().host + QLatin1String(":") + QString::number(device->sshParameters().port);
|
||||||
params.remoteSetupNeeded = false; // qml stuff, not needed
|
params.remoteSetupNeeded = false; // qml stuff, not needed
|
||||||
params.commandsAfterConnect = device->gdbInitCommands().toLatin1();
|
params.commandsAfterConnect = device->gdbInitCommands().toLatin1();
|
||||||
@@ -109,7 +112,7 @@ DebuggerStartParameters BareMetalRunControlFactory::startParameters(const BareMe
|
|||||||
if (ds) {
|
if (ds) {
|
||||||
if (!params.commandsAfterConnect.endsWith("\n"))
|
if (!params.commandsAfterConnect.endsWith("\n"))
|
||||||
params.commandsAfterConnect.append("\n");
|
params.commandsAfterConnect.append("\n");
|
||||||
params.commandsAfterConnect.append(ds->gdbCommands().toLocal8Bit());
|
params.commandsAfterConnect.append(ds->gdbCommands().toLatin1());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -251,7 +251,8 @@ void GdbRemoteServerEngine::callTargetRemote()
|
|||||||
|
|
||||||
// Don't touch channels with explicitly set protocols.
|
// Don't touch channels with explicitly set protocols.
|
||||||
if (!channel.startsWith("tcp:") && !channel.startsWith("udp:")
|
if (!channel.startsWith("tcp:") && !channel.startsWith("udp:")
|
||||||
&& !channel.startsWith("file:") && channel.contains(':'))
|
&& !channel.startsWith("file:") && channel.contains(':')
|
||||||
|
&& !channel.startsWith('|'))
|
||||||
{
|
{
|
||||||
// "Fix" the IPv6 case with host names without '['...']'
|
// "Fix" the IPv6 case with host names without '['...']'
|
||||||
if (!channel.startsWith('[') && channel.count(':') >= 2) {
|
if (!channel.startsWith('[') && channel.count(':') >= 2) {
|
||||||
|
|||||||
Reference in New Issue
Block a user