From e6418fc3b6273f5df6e95e43d076602396bb2cb0 Mon Sep 17 00:00:00 2001 From: Denis Shienkov Date: Fri, 26 Jul 2019 13:37:46 +0300 Subject: [PATCH] BareMetal: Auto-detect IAR EW toolchain for STM8 architecture Change-Id: Iebf99149c2b15d5d95510abbda3527e3e1147e15 Reviewed-by: Christian Kandeler --- src/plugins/baremetal/iarewtoolchain.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/plugins/baremetal/iarewtoolchain.cpp b/src/plugins/baremetal/iarewtoolchain.cpp index 870ab6fd33f..e2e9e8a4028 100644 --- a/src/plugins/baremetal/iarewtoolchain.cpp +++ b/src/plugins/baremetal/iarewtoolchain.cpp @@ -189,6 +189,8 @@ static Abi::Architecture guessArchitecture(const Macros ¯os) return Abi::Architecture::Mcs51Architecture; if (macro.key == "__ICCAVR__") return Abi::Architecture::AvrArchitecture; + if (macro.key == "__ICCSTM8__") + return Abi::Architecture::Stm8Architecture; } return Abi::Architecture::UnknownArchitecture; } @@ -205,8 +207,10 @@ static unsigned char guessWordWidth(const Macros ¯os) 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; + } if (arch == Abi::Architecture::Mcs51Architecture || arch == Abi::Architecture::AvrArchitecture) { return Abi::BinaryFormat::UbrofFormat; @@ -426,6 +430,7 @@ QList IarToolChainFactory::autoDetect(const QList &alr {{"EWARM"}, {"\\arm\\bin\\iccarm.exe"}}, {{"EWAVR"}, {"\\avr\\bin\\iccavr.exe"}}, {{"EW8051"}, {"\\8051\\bin\\icc8051.exe"}}, + {{"EWSTM8"}, {"\\stm8\\bin\\iccstm8.exe"}}, }; QSettings registry(kRegistryNode, QSettings::NativeFormat);