diff --git a/src/plugins/baremetal/baremetaldeviceconfigurationwizardsetuppage.ui b/src/plugins/baremetal/baremetaldeviceconfigurationwizardsetuppage.ui index 621631e2cc4f88e8f6b7808c5ebe5baca4f166c0..be6c1dd1203fb69d5c0910abeaab2d055105e43d 100644 --- a/src/plugins/baremetal/baremetaldeviceconfigurationwizardsetuppage.ui +++ b/src/plugins/baremetal/baremetaldeviceconfigurationwizardsetuppage.ui @@ -30,7 +30,7 @@ <item row="3" column="1"> <widget class="QLineEdit" name="hostNameLineEdit"> <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> </widget> </item> diff --git a/src/plugins/baremetal/baremetalruncontrolfactory.cpp b/src/plugins/baremetal/baremetalruncontrolfactory.cpp index f8d54e5aded7518d3f45fb19ac2c2523f20a88c9..04cd5b0b7873851f912d8c04c56cdce54b96b954 100644 --- a/src/plugins/baremetal/baremetalruncontrolfactory.cpp +++ b/src/plugins/baremetal/baremetalruncontrolfactory.cpp @@ -98,7 +98,10 @@ DebuggerStartParameters BareMetalRunControlFactory::startParameters(const BareMe params.projectBuildDirectory = buildConfig->buildDirectory().toString(); params.projectSourceFiles = project->files(Project::ExcludeGeneratedFiles); } - params.remoteChannel = device->sshParameters().host + QLatin1String(":") + QString::number(device->sshParameters().port); + 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.remoteSetupNeeded = false; // qml stuff, not needed params.commandsAfterConnect = device->gdbInitCommands().toLatin1(); BuildConfiguration *bc = target->activeBuildConfiguration(); @@ -109,7 +112,7 @@ DebuggerStartParameters BareMetalRunControlFactory::startParameters(const BareMe if (ds) { if (!params.commandsAfterConnect.endsWith("\n")) params.commandsAfterConnect.append("\n"); - params.commandsAfterConnect.append(ds->gdbCommands().toLocal8Bit()); + params.commandsAfterConnect.append(ds->gdbCommands().toLatin1()); } } } diff --git a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp index fda04137c9e41832fd15ca358748785015704b58..c031ab132c1d0e56dfad7f1de7dd14a17a572123 100644 --- a/src/plugins/debugger/gdb/remotegdbserveradapter.cpp +++ b/src/plugins/debugger/gdb/remotegdbserveradapter.cpp @@ -251,7 +251,8 @@ void GdbRemoteServerEngine::callTargetRemote() // Don't touch channels with explicitly set protocols. 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 '['...']' if (!channel.startsWith('[') && channel.count(':') >= 2) {