diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2020-03-12 14:03:49 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2020-03-12 12:45:33 +0000 |
commit | 1947af7ab5bdb45bc6d5ed2cc6885a8bdf84ba5d (patch) | |
tree | ebbe3ff31ac35fb73f2325c48b9662b60af64b6a /share | |
parent | ca00d222003c2cfb216a8ecd16f21462d33b324e (diff) |
baremetal: Add IAR Renesas RX toolchain support
This commit adds a basic support of the IAR Embedded Workbench
toolchain for the Renesas RX processors family:
* https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rx.html
Change-Id: I68d43eed4d89a5921eb55b56fdd3380b59c56054
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Diffstat (limited to 'share')
-rw-r--r-- | share/qbs/modules/cpp/iar.js | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/share/qbs/modules/cpp/iar.js b/share/qbs/modules/cpp/iar.js index d51668095..967c1844b 100644 --- a/share/qbs/modules/cpp/iar.js +++ b/share/qbs/modules/cpp/iar.js @@ -51,6 +51,8 @@ function compilerName(qbs) { return "icc430"; case "rl78": return "iccrl78"; + case "rx": + return "iccrx"; } throw "Unable to deduce compiler name for unsupported architecture: '" + qbs.architecture + "'"; @@ -62,6 +64,8 @@ function assemblerName(qbs) { return "iasmarm"; case "rl78": return "iasmrl78"; + case "rx": + return "iasmrx"; case "mcs51": return "a8051"; case "avr": @@ -83,6 +87,8 @@ function linkerName(qbs) { return "ilinkstm8"; case "rl78": return "ilinkrl78"; + case "rx": + return "ilinkrx"; case "mcs51": case "avr": case "msp430": @@ -97,6 +103,7 @@ function archiverName(qbs) { case "arm": case "stm8": case "rl78": + case "rx": return "iarchive"; case "mcs51": case "avr": @@ -112,6 +119,7 @@ function staticLibrarySuffix(qbs) { case "arm": case "stm8": case "rl78": + case "rx": return ".a"; case "mcs51": return ".r51"; @@ -129,6 +137,7 @@ function executableSuffix(qbs) { case "arm": case "stm8": case "rl78": + case "rx": return ".out"; case "mcs51": return qbs.debugInformation ? ".d51" : ".a51"; @@ -146,6 +155,7 @@ function objectSuffix(qbs) { case "arm": case "stm8": case "rl78": + case "rx": return ".o"; case "mcs51": return ".r51"; @@ -163,6 +173,7 @@ function imageFormat(qbs) { case "arm": case "stm8": case "rl78": + case "rx": return "elf"; case "mcs51": case "avr": @@ -186,6 +197,8 @@ function guessArchitecture(macros) { return "msp430"; else if (macros["__ICCRL78__"] === "1") return "rl78"; + else if (macros["__ICCRX__"] === "1") + return "rx"; } function guessEndianness(macros) { @@ -208,6 +221,7 @@ function guessVersion(macros, architecture) case "stm8": case "msp430": case "rl78": + case "rx": return { major: parseInt(version / 100), minor: parseInt(version % 100), patch: 0, @@ -220,6 +234,7 @@ function cppLanguageOption(compilerFilePath) { switch (baseName) { case "iccarm": case "rl78": + case "rx": return "--c++"; case "icc8051": case "iccavr": @@ -489,9 +504,10 @@ function compilerFlags(project, product, input, outputs, explicitlyDependsOn) { switch (input.qbs.architecture) { case "arm": case "rl78": + case "rx": // Byte order flags. var endianness = input.cpp.endianness; - if (endianness && input.qbs.architecture === "arm") + if (endianness) args.push("--endian=" + endianness); if (tag === "cpp") { // Enable C++ language flags. @@ -557,6 +573,7 @@ function assemblerFlags(project, product, input, outputs, explicitlyDependsOn) { switch (input.qbs.architecture) { case "stm8": case "rl78": + case "rx": // Silent output generation flag. args.push("--silent"); // Warning level flags. @@ -618,6 +635,7 @@ function linkerFlags(project, product, input, outputs) { case "arm": case "stm8": case "rl78": + case "rx": // Silent output generation flag. args.push("--silent"); // Map file generation flag. |