forked from qt-creator/qt-creator
BareMetal: Auto-detect IAR toolchain for Renesas 78K architecture
This patch implements auto-detection for the 78K toolchain, provided by IAR Systems: * https://www.iar.com/iar-embedded-workbench/#!?architecture=78K Change-Id: Idef5e8982984c0cf24c120d31af0f6cee210694b Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -75,7 +75,7 @@ static QString cppLanguageOption(const FilePath &compiler)
|
||||
}
|
||||
if (baseName == "icc8051" || baseName == "iccavr"
|
||||
|| baseName == "iccstm8" || baseName == "icc430"
|
||||
|| baseName == "iccv850") {
|
||||
|| baseName == "iccv850" || baseName == "icc78k") {
|
||||
return QString("--ec++");
|
||||
}
|
||||
return {};
|
||||
@@ -206,6 +206,8 @@ static Abi::Architecture guessArchitecture(const Macros ¯os)
|
||||
return Abi::Architecture::Rh850Architecture;
|
||||
if (macro.key == "__ICCRX__")
|
||||
return Abi::Architecture::RxArchitecture;
|
||||
if (macro.key == "__ICC78K__")
|
||||
return Abi::Architecture::K78Architecture;
|
||||
}
|
||||
return Abi::Architecture::UnknownArchitecture;
|
||||
}
|
||||
@@ -232,7 +234,8 @@ static Abi::BinaryFormat guessFormat(Abi::Architecture arch)
|
||||
if (arch == Abi::Architecture::Mcs51Architecture
|
||||
|| arch == Abi::Architecture::AvrArchitecture
|
||||
|| arch == Abi::Architecture::Msp430Architecture
|
||||
|| arch == Abi::Architecture::V850Architecture) {
|
||||
|| arch == Abi::Architecture::V850Architecture
|
||||
|| arch == Abi::Architecture::K78Architecture) {
|
||||
return Abi::BinaryFormat::UbrofFormat;
|
||||
}
|
||||
return Abi::BinaryFormat::UnknownFormat;
|
||||
@@ -461,6 +464,7 @@ QList<ToolChain *> IarToolChainFactory::autoDetect(const QList<ToolChain *> &alr
|
||||
{{"EWV850"}, {"\\v850\\bin\\iccv850.exe"}},
|
||||
{{"EWRH850"}, {"\\rh850\\bin\\iccrh850.exe"}},
|
||||
{{"EWRX"}, {"\\rx\\bin\\iccrx.exe"}},
|
||||
{{"EW78K"}, {"\\78k\\bin\\icc78k.exe"}},
|
||||
};
|
||||
|
||||
QSettings registry(kRegistryNode, QSettings::NativeFormat);
|
||||
|
@@ -731,6 +731,8 @@ QString Abi::toString(const Architecture &a)
|
||||
return QLatin1String("rh850");
|
||||
case RxArchitecture:
|
||||
return QLatin1String("rx");
|
||||
case K78Architecture:
|
||||
return QLatin1String("78k");
|
||||
case UnknownArchitecture:
|
||||
Q_FALLTHROUGH();
|
||||
default:
|
||||
@@ -883,6 +885,8 @@ Abi::Architecture Abi::architectureFromString(const QStringRef &a)
|
||||
return Rh850Architecture;
|
||||
if (a == "rx")
|
||||
return RxArchitecture;
|
||||
if (a == "78k")
|
||||
return K78Architecture;
|
||||
else if (a == "xtensa")
|
||||
return XtensaArchitecture;
|
||||
if (a == "asmjs")
|
||||
|
@@ -67,6 +67,7 @@ public:
|
||||
V850Architecture,
|
||||
Rh850Architecture,
|
||||
RxArchitecture,
|
||||
K78Architecture,
|
||||
UnknownArchitecture
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user