BareMetal: Auto-detect IAR EW toolchain for STM8 architecture

Change-Id: Iebf99149c2b15d5d95510abbda3527e3e1147e15
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Denis Shienkov
2019-07-26 13:37:46 +03:00
parent 031448d596
commit e6418fc3b6

View File

@@ -189,6 +189,8 @@ static Abi::Architecture guessArchitecture(const Macros &macros)
return Abi::Architecture::Mcs51Architecture; return Abi::Architecture::Mcs51Architecture;
if (macro.key == "__ICCAVR__") if (macro.key == "__ICCAVR__")
return Abi::Architecture::AvrArchitecture; return Abi::Architecture::AvrArchitecture;
if (macro.key == "__ICCSTM8__")
return Abi::Architecture::Stm8Architecture;
} }
return Abi::Architecture::UnknownArchitecture; return Abi::Architecture::UnknownArchitecture;
} }
@@ -205,8 +207,10 @@ static unsigned char guessWordWidth(const Macros &macros)
static Abi::BinaryFormat guessFormat(Abi::Architecture arch) static Abi::BinaryFormat guessFormat(Abi::Architecture arch)
{ {
if (arch == Abi::Architecture::ArmArchitecture) if (arch == Abi::Architecture::ArmArchitecture
|| arch == Abi::Architecture::Stm8Architecture) {
return Abi::BinaryFormat::ElfFormat; return Abi::BinaryFormat::ElfFormat;
}
if (arch == Abi::Architecture::Mcs51Architecture if (arch == Abi::Architecture::Mcs51Architecture
|| arch == Abi::Architecture::AvrArchitecture) { || arch == Abi::Architecture::AvrArchitecture) {
return Abi::BinaryFormat::UbrofFormat; return Abi::BinaryFormat::UbrofFormat;
@@ -426,6 +430,7 @@ QList<ToolChain *> IarToolChainFactory::autoDetect(const QList<ToolChain *> &alr
{{"EWARM"}, {"\\arm\\bin\\iccarm.exe"}}, {{"EWARM"}, {"\\arm\\bin\\iccarm.exe"}},
{{"EWAVR"}, {"\\avr\\bin\\iccavr.exe"}}, {{"EWAVR"}, {"\\avr\\bin\\iccavr.exe"}},
{{"EW8051"}, {"\\8051\\bin\\icc8051.exe"}}, {{"EW8051"}, {"\\8051\\bin\\icc8051.exe"}},
{{"EWSTM8"}, {"\\stm8\\bin\\iccstm8.exe"}},
}; };
QSettings registry(kRegistryNode, QSettings::NativeFormat); QSettings registry(kRegistryNode, QSettings::NativeFormat);