forked from qt-creator/qt-creator
Fix baremetal pipe channel connection
Clean baremetal plugin a bit Change-Id: I36d0d5a372f8ad2f06faa2c1db659e80d3afe8d6 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
committed by
BogDan Vatra
parent
108dbb4dd3
commit
55290588d9
@@ -79,7 +79,6 @@ public:
|
|||||||
|
|
||||||
bool operator==(const IDebugServerProvider &other) const final;
|
bool operator==(const IDebugServerProvider &other) const final;
|
||||||
|
|
||||||
QString channelString() const final;
|
|
||||||
Utils::CommandLine command() const final;
|
Utils::CommandLine command() const final;
|
||||||
|
|
||||||
QSet<StartupMode> supportedStartupModes() const final;
|
QSet<StartupMode> supportedStartupModes() const final;
|
||||||
@@ -138,17 +137,6 @@ QString EBlinkGdbServerProvider::scriptFileWoExt() const
|
|||||||
return m_deviceScript.absolutePath().pathAppended(m_deviceScript.baseName()).path();
|
return m_deviceScript.absolutePath().pathAppended(m_deviceScript.baseName()).path();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString EBlinkGdbServerProvider::channelString() const
|
|
||||||
{
|
|
||||||
switch (startupMode()) {
|
|
||||||
case StartupOnNetwork:
|
|
||||||
// Just return as "host:port" form.
|
|
||||||
return GdbServerProvider::channelString();
|
|
||||||
default:
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CommandLine EBlinkGdbServerProvider::command() const
|
CommandLine EBlinkGdbServerProvider::command() const
|
||||||
{
|
{
|
||||||
CommandLine cmd{m_executableFile};
|
CommandLine cmd{m_executableFile};
|
||||||
|
@@ -130,7 +130,8 @@ void GdbServerProvider::toMap(Store &data) const
|
|||||||
|
|
||||||
bool GdbServerProvider::isValid() const
|
bool GdbServerProvider::isValid() const
|
||||||
{
|
{
|
||||||
return !channelString().isEmpty();
|
return (m_startupMode == GdbServerProvider::StartupOnNetwork && channel().isValid()) ||
|
||||||
|
(m_startupMode == GdbServerProvider::StartupOnPipe && !channelPipe().isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
Result<> GdbServerProvider::setupDebuggerRunParameters(DebuggerRunParameters &rp,
|
Result<> GdbServerProvider::setupDebuggerRunParameters(DebuggerRunParameters &rp,
|
||||||
@@ -155,7 +156,10 @@ Result<> GdbServerProvider::setupDebuggerRunParameters(DebuggerRunParameters &rp
|
|||||||
rp.setStartMode(AttachToRemoteServer);
|
rp.setStartMode(AttachToRemoteServer);
|
||||||
rp.setCommandsAfterConnect(initCommands()); // .. and here?
|
rp.setCommandsAfterConnect(initCommands()); // .. and here?
|
||||||
rp.setCommandsForReset(resetCommands());
|
rp.setCommandsForReset(resetCommands());
|
||||||
rp.setRemoteChannel(channelString());
|
if (m_startupMode == GdbServerProvider::StartupOnNetwork)
|
||||||
|
rp.setRemoteChannel(channel());
|
||||||
|
else
|
||||||
|
rp.setRemoteChannelPipe(channelPipe());
|
||||||
rp.setUseContinueInsteadOfRun(true);
|
rp.setUseContinueInsteadOfRun(true);
|
||||||
rp.setUseExtendedRemote(useExtendedRemote());
|
rp.setUseExtendedRemote(useExtendedRemote());
|
||||||
rp.setPeripheralDescriptionFile(m_peripheralDescriptionFile);
|
rp.setPeripheralDescriptionFile(m_peripheralDescriptionFile);
|
||||||
|
@@ -84,7 +84,6 @@ public:
|
|||||||
|
|
||||||
bool operator==(const IDebugServerProvider &other) const final;
|
bool operator==(const IDebugServerProvider &other) const final;
|
||||||
|
|
||||||
QString channelString() const final;
|
|
||||||
CommandLine command() const final;
|
CommandLine command() const final;
|
||||||
|
|
||||||
QSet<StartupMode> supportedStartupModes() const final;
|
QSet<StartupMode> supportedStartupModes() const final;
|
||||||
@@ -130,17 +129,6 @@ QString JLinkGdbServerProvider::defaultResetCommands()
|
|||||||
return {"monitor reset halt\n"};
|
return {"monitor reset halt\n"};
|
||||||
}
|
}
|
||||||
|
|
||||||
QString JLinkGdbServerProvider::channelString() const
|
|
||||||
{
|
|
||||||
switch (startupMode()) {
|
|
||||||
case StartupOnNetwork:
|
|
||||||
// Just return as "host:port" form.
|
|
||||||
return GdbServerProvider::channelString();
|
|
||||||
default: // wrong
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CommandLine JLinkGdbServerProvider::command() const
|
CommandLine JLinkGdbServerProvider::command() const
|
||||||
{
|
{
|
||||||
CommandLine cmd{m_executableFile};
|
CommandLine cmd{m_executableFile};
|
||||||
|
@@ -60,7 +60,7 @@ public:
|
|||||||
|
|
||||||
bool operator==(const IDebugServerProvider &other) const final;
|
bool operator==(const IDebugServerProvider &other) const final;
|
||||||
|
|
||||||
QString channelString() const final;
|
QString channelPipe() const final;
|
||||||
Utils::CommandLine command() const final;
|
Utils::CommandLine command() const final;
|
||||||
|
|
||||||
QSet<StartupMode> supportedStartupModes() const final;
|
QSet<StartupMode> supportedStartupModes() const final;
|
||||||
@@ -105,17 +105,10 @@ QString OpenOcdGdbServerProvider::defaultResetCommands()
|
|||||||
return {"monitor reset halt\n"};
|
return {"monitor reset halt\n"};
|
||||||
}
|
}
|
||||||
|
|
||||||
QString OpenOcdGdbServerProvider::channelString() const
|
QString OpenOcdGdbServerProvider::channelPipe() const
|
||||||
{
|
{
|
||||||
switch (startupMode()) {
|
|
||||||
case StartupOnNetwork:
|
|
||||||
// Just return as "host:port" form.
|
|
||||||
return GdbServerProvider::channelString();
|
|
||||||
case StartupOnPipe: {
|
|
||||||
// In the pipe mode need to add quotes to each item of arguments;
|
|
||||||
// otherwise running will be stuck.
|
|
||||||
CommandLine cmd = command();
|
CommandLine cmd = command();
|
||||||
QStringList args = {"|", cmd.executable().path()};
|
QStringList args = {cmd.executable().path()};
|
||||||
for (const QString &a : ProcessArgs::splitArgs(cmd.arguments(), HostOsInfo::hostOs())) {
|
for (const QString &a : ProcessArgs::splitArgs(cmd.arguments(), HostOsInfo::hostOs())) {
|
||||||
if (a.startsWith('\"') && a.endsWith('\"'))
|
if (a.startsWith('\"') && a.endsWith('\"'))
|
||||||
args << a;
|
args << a;
|
||||||
@@ -124,10 +117,6 @@ QString OpenOcdGdbServerProvider::channelString() const
|
|||||||
}
|
}
|
||||||
return args.join(' ');
|
return args.join(' ');
|
||||||
}
|
}
|
||||||
default: // wrong
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CommandLine OpenOcdGdbServerProvider::command() const
|
CommandLine OpenOcdGdbServerProvider::command() const
|
||||||
{
|
{
|
||||||
|
@@ -72,7 +72,6 @@ public:
|
|||||||
|
|
||||||
bool operator==(const IDebugServerProvider &other) const final;
|
bool operator==(const IDebugServerProvider &other) const final;
|
||||||
|
|
||||||
QString channelString() const final;
|
|
||||||
Utils::CommandLine command() const final;
|
Utils::CommandLine command() const final;
|
||||||
|
|
||||||
QSet<StartupMode> supportedStartupModes() const final;
|
QSet<StartupMode> supportedStartupModes() const final;
|
||||||
@@ -115,20 +114,6 @@ QString StLinkUtilGdbServerProvider::defaultResetCommands()
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
QString StLinkUtilGdbServerProvider::channelString() const
|
|
||||||
{
|
|
||||||
switch (startupMode()) {
|
|
||||||
case StartupOnNetwork:
|
|
||||||
// Just return as "host:port" form.
|
|
||||||
return GdbServerProvider::channelString();
|
|
||||||
case StartupOnPipe:
|
|
||||||
// Unsupported mode
|
|
||||||
return {};
|
|
||||||
default: // wrong
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CommandLine StLinkUtilGdbServerProvider::command() const
|
CommandLine StLinkUtilGdbServerProvider::command() const
|
||||||
{
|
{
|
||||||
CommandLine cmd{m_executableFile};
|
CommandLine cmd{m_executableFile};
|
||||||
|
@@ -154,11 +154,6 @@ bool UvscServerProvider::isValid() const
|
|||||||
return m_channel.isValid();
|
return m_channel.isValid();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString UvscServerProvider::channelString() const
|
|
||||||
{
|
|
||||||
return m_channel.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
Result<> UvscServerProvider::setupDebuggerRunParameters(DebuggerRunParameters &rp,
|
Result<> UvscServerProvider::setupDebuggerRunParameters(DebuggerRunParameters &rp,
|
||||||
RunControl *runControl) const
|
RunControl *runControl) const
|
||||||
{
|
{
|
||||||
@@ -190,7 +185,7 @@ Result<> UvscServerProvider::setupDebuggerRunParameters(DebuggerRunParameters &r
|
|||||||
rp.setInferior(inferior);
|
rp.setInferior(inferior);
|
||||||
rp.setSymbolFile(bin);
|
rp.setSymbolFile(bin);
|
||||||
rp.setStartMode(AttachToRemoteServer);
|
rp.setStartMode(AttachToRemoteServer);
|
||||||
rp.setRemoteChannel(channelString());
|
rp.setRemoteChannel(channelPipe());
|
||||||
rp.setUseContinueInsteadOfRun(true);
|
rp.setUseContinueInsteadOfRun(true);
|
||||||
return ResultOk;
|
return ResultOk;
|
||||||
}
|
}
|
||||||
|
@@ -52,7 +52,6 @@ public:
|
|||||||
ProjectExplorer::RunWorker *targetRunner(ProjectExplorer::RunControl *runControl) const final;
|
ProjectExplorer::RunWorker *targetRunner(ProjectExplorer::RunControl *runControl) const final;
|
||||||
|
|
||||||
bool isValid() const override;
|
bool isValid() const override;
|
||||||
QString channelString() const final;
|
|
||||||
|
|
||||||
static QString buildDllRegistryKey(const Uv::DriverSelection &driver);
|
static QString buildDllRegistryKey(const Uv::DriverSelection &driver);
|
||||||
static QString adjustFlashAlgorithmProperty(const QString &property);
|
static QString adjustFlashAlgorithmProperty(const QString &property);
|
||||||
|
@@ -83,9 +83,9 @@ QUrl IDebugServerProvider::channel() const
|
|||||||
return m_channel;
|
return m_channel;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString IDebugServerProvider::channelString() const
|
QString IDebugServerProvider::channelPipe() const
|
||||||
{
|
{
|
||||||
return m_channel.toString();
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
QString IDebugServerProvider::id() const
|
QString IDebugServerProvider::id() const
|
||||||
|
@@ -53,7 +53,7 @@ public:
|
|||||||
void setChannel(const QUrl &channel);
|
void setChannel(const QUrl &channel);
|
||||||
void setChannel(const QString &host, int port);
|
void setChannel(const QString &host, int port);
|
||||||
|
|
||||||
virtual QString channelString() const;
|
virtual QString channelPipe() const;
|
||||||
|
|
||||||
QString id() const;
|
QString id() const;
|
||||||
QString typeDisplayName() const;
|
QString typeDisplayName() const;
|
||||||
|
Reference in New Issue
Block a user