diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2019-07-24 15:30:52 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2019-07-26 14:00:47 +0000 |
commit | 1a9e852d7d6ea753f20d7e1f374c9f20a87d7f1e (patch) | |
tree | 7345cc2076dbc84993825392d7de58f520e76f6a /share/qbs/modules/cpp/iar.qbs | |
parent | 7fb811f6cb51d752af551eb0739daafd4ae7560b (diff) |
bare-metal: Add IAR STM8 toolchain support
This commit adds a basic support of the IAR Embedded Workbench
toolchain for the STM8 processors family.
To use it with Qt Creator, it is enough to add there a desired Kit
with a custom IAR C/C++ compiler, and then set the following in the
Kit's Qbs profile settings:
* Key: qbs.toolchainType
* Value: iar
Tested with EW for STM8 v3.11.1 on Windows using the simple
projects samples which come with the default IAR installer.
Change-Id: Ibc116ceb33b7df49c3241d26fa97136255ba06dd
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share/qbs/modules/cpp/iar.qbs')
-rw-r--r-- | share/qbs/modules/cpp/iar.qbs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/share/qbs/modules/cpp/iar.qbs b/share/qbs/modules/cpp/iar.qbs index 6d15781a5..8b8773f7c 100644 --- a/share/qbs/modules/cpp/iar.qbs +++ b/share/qbs/modules/cpp/iar.qbs @@ -86,6 +86,8 @@ CppModule { return "icc8051" + compilerExtension; case "avr": return "iccavr" + compilerExtension; + case "stm8": + return "iccstm8" + compilerExtension; } } compilerPath: FileInfo.joinPaths(toolchainInstallPath, compilerName) @@ -98,6 +100,8 @@ CppModule { return "a8051" + compilerExtension; case "avr": return "aavr" + compilerExtension; + case "stm8": + return "iasmstm8" + compilerExtension; } } assemblerPath: FileInfo.joinPaths(toolchainInstallPath, assemblerName) @@ -110,6 +114,8 @@ CppModule { return "xlink" + compilerExtension; case "avr": return "xlink" + compilerExtension; + case "stm8": + return "ilinkstm8" + compilerExtension; } } linkerPath: FileInfo.joinPaths(toolchainInstallPath, linkerName) @@ -122,6 +128,8 @@ CppModule { return "xlib" + compilerExtension; case "avr": return "xlib" + compilerExtension; + case "stm8": + return "iarchive" + compilerExtension; } } property string archiverPath: FileInfo.joinPaths(toolchainInstallPath, archiverName) @@ -136,6 +144,8 @@ CppModule { return ".r51"; case "avr": return ".r90"; + case "stm8": + return ".a"; } } @@ -147,6 +157,8 @@ CppModule { return qbs.debugInformation ? ".d51" : ".a51"; case "avr": return qbs.debugInformation ? ".d90" : ".a90"; + case "stm8": + return ".out"; } } @@ -158,6 +170,8 @@ CppModule { return ".r51"; case "avr": return ".r90"; + case "stm8": + return ".o"; } } @@ -169,6 +183,8 @@ CppModule { return "ubrof"; case "avr": return "ubrof"; + case "stm8": + return "elf"; } } @@ -189,7 +205,7 @@ CppModule { } FileTagger { - condition: qbs.architecture === "arm"; + condition: qbs.architecture === "arm" || qbs.architecture === "stm8"; patterns: "*.s" fileTags: ["asm"] } |