forked from qt-creator/qt-creator
bare-metal: Add support for IAR EW toolchain
This patch adds support for the toolchains, provided by IAR Embedded Workbench: * https://www.iar.com/iar-embedded-workbench/ Now QtC's compiler page have additional 'IAREW' selector which allows to user to choose a desired C/C++ compiler from set of the IAR EW toolchains. In this case the QtC will tries to detect the compiler ABI, in which was added the additional MCS51 architecture (which includes all family for Intel x8051 MCU's): * https://en.wikipedia.org/wiki/Intel_MCS-51 Also, now the ABI has an additional proprietary UBROF binary format type which is produced by some of IAR EW compilers: * https://netstorage.iar.com/SuppDB/Public/UPDINFO/011281/ew/doc/EW_MigrationFromUBROF.pdf * https://netstorage.iar.com/SuppDB/Public/UPDINFO/013556/ew/doc/UBROFRecordTags.pdf Currently are supported the following architectures: * ARM * 8051 (aka MCS51) * AVR In addition, were added changes to the QBS Project Manager plugin to make it work with QBS 1.13 (where previously were added support for IAR toolchain). So, now do not need to do an additional 'hacks' into the 'qbs.toolchain' property of QtC IAR kit. Following features are not implemented yet: * C-SPY debugger integration. * Compile output parsers. * Toolchains auto-detection. Change-Id: I4a7794efe8dc15652f5a7f1f3dd966c367943484 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
#include "qbsprojectmanagerconstants.h"
|
||||
|
||||
#include <coreplugin/messagemanager.h>
|
||||
#include <baremetal/baremetalconstants.h>
|
||||
#include <projectexplorer/abi.h>
|
||||
#include <projectexplorer/gcctoolchain.h>
|
||||
#include <projectexplorer/kit.h>
|
||||
@@ -130,6 +131,8 @@ static QStringList toolchainList(const ProjectExplorer::ToolChain *tc)
|
||||
list << QLatin1String("mingw") << QLatin1String("gcc");
|
||||
else if (tc->typeId() == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID)
|
||||
list << QLatin1String("msvc");
|
||||
else if (tc->typeId() == BareMetal::Constants::IAREW_TOOLCHAIN_TYPEID)
|
||||
list << QLatin1String("iar");
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user