forked from qt-creator/qt-creator
McuSupport: fix armgdb registration when creating kit
Task-number: QTCREATORBUG-26631 Change-Id: Ia1854ba2a4d34afff1d2c80aac4c9919cd3142dc Reviewed-by: Erik Verbruggen <erik.verbruggen@me.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -497,8 +497,27 @@ QVariant McuToolChainPackage::debuggerId() const
|
|||||||
{
|
{
|
||||||
using namespace Debugger;
|
using namespace Debugger;
|
||||||
|
|
||||||
QString sub = QString::fromLatin1(m_type == TypeArmGcc ? "bin/arm-none-eabi-gdb-py"
|
QString sub, displayName;
|
||||||
: m_type == TypeIAR ? "../common/bin/CSpyBat" : "bar/foo-keil-gdb");
|
DebuggerEngineType engineType;
|
||||||
|
|
||||||
|
switch (m_type) {
|
||||||
|
case TypeArmGcc: {
|
||||||
|
sub = QString::fromLatin1("bin/arm-none-eabi-gdb-py");
|
||||||
|
displayName = McuPackage::tr("Arm GDB at %1");
|
||||||
|
engineType = Debugger::GdbEngineType;
|
||||||
|
break; }
|
||||||
|
case TypeIAR: {
|
||||||
|
sub = QString::fromLatin1("../common/bin/CSpyBat");
|
||||||
|
displayName = QLatin1String("CSpy");
|
||||||
|
engineType = Debugger::NoEngineType; // support for IAR missing
|
||||||
|
break; }
|
||||||
|
case TypeKEIL: {
|
||||||
|
sub = QString::fromLatin1("UV4/UV4");
|
||||||
|
displayName = QLatin1String("KEIL uVision Debugger");
|
||||||
|
engineType = Debugger::UvscEngineType;
|
||||||
|
break; }
|
||||||
|
default: return QVariant();
|
||||||
|
}
|
||||||
|
|
||||||
const FilePath command = path().pathAppended(sub).withExecutableSuffix();
|
const FilePath command = path().pathAppended(sub).withExecutableSuffix();
|
||||||
const DebuggerItem *debugger = DebuggerItemManager::findByCommand(command);
|
const DebuggerItem *debugger = DebuggerItemManager::findByCommand(command);
|
||||||
@@ -506,11 +525,8 @@ QVariant McuToolChainPackage::debuggerId() const
|
|||||||
if (!debugger) {
|
if (!debugger) {
|
||||||
DebuggerItem newDebugger;
|
DebuggerItem newDebugger;
|
||||||
newDebugger.setCommand(command);
|
newDebugger.setCommand(command);
|
||||||
const QString displayName = m_type == TypeArmGcc
|
|
||||||
? McuPackage::tr("Arm GDB at %1")
|
|
||||||
: m_type == TypeIAR ? QLatin1String("CSpy")
|
|
||||||
: QLatin1String("/bar/foo-keil-gdb");
|
|
||||||
newDebugger.setUnexpandedDisplayName(displayName.arg(command.toUserOutput()));
|
newDebugger.setUnexpandedDisplayName(displayName.arg(command.toUserOutput()));
|
||||||
|
newDebugger.setEngineType(engineType);
|
||||||
debuggerId = DebuggerItemManager::registerDebugger(newDebugger);
|
debuggerId = DebuggerItemManager::registerDebugger(newDebugger);
|
||||||
} else {
|
} else {
|
||||||
debuggerId = debugger->id();
|
debuggerId = debugger->id();
|
||||||
@@ -743,7 +759,9 @@ static void setKitDebugger(Kit *k, const McuToolChainPackage *tcPackage)
|
|||||||
|| tcPackage->type() == McuToolChainPackage::TypeIAR)
|
|| tcPackage->type() == McuToolChainPackage::TypeIAR)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Debugger::DebuggerKitAspect::setDebugger(k, tcPackage->debuggerId());
|
const QVariant debuggerId = tcPackage->debuggerId();
|
||||||
|
if (debuggerId.isValid())
|
||||||
|
Debugger::DebuggerKitAspect::setDebugger(k, debuggerId);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void setKitDevice(Kit *k, const McuTarget* mcuTarget)
|
static void setKitDevice(Kit *k, const McuTarget* mcuTarget)
|
||||||
|
Reference in New Issue
Block a user