diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2020-03-13 16:50:13 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2020-03-16 11:44:15 +0000 |
commit | dc1776e727076d61f6842b48123baf3e05b5c741 (patch) | |
tree | 35536faa965c730cb5b32adb43e03edbc40e5ef5 /share/qbs/modules/cpp/iar.js | |
parent | 35405f58a818717a65716889c16a7b86907ed491 (diff) |
baremetal: Add IAR Renesas V850 toolchain support
This commit adds a basic support of the IAR Embedded Workbench
toolchain for the Renesas V850 processors family:
* https://www.renesas.com/cn/en/products/microcontrollers-microprocessors/v850.html
Change-Id: I289b2c9718ea917b04a1f14a3d2c70f4f26359d8
Reviewed-by: Ivan Komissarov <ABBAPOH@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share/qbs/modules/cpp/iar.js')
-rw-r--r-- | share/qbs/modules/cpp/iar.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/share/qbs/modules/cpp/iar.js b/share/qbs/modules/cpp/iar.js index f25d72820..e0d73f748 100644 --- a/share/qbs/modules/cpp/iar.js +++ b/share/qbs/modules/cpp/iar.js @@ -49,6 +49,8 @@ function compilerName(qbs) { return "iccstm8"; case "msp430": return "icc430"; + case "v850": + return "iccv850"; case "rl78": return "iccrl78"; case "rx": @@ -78,6 +80,8 @@ function assemblerName(qbs) { return "iasmstm8"; case "msp430": return "a430"; + case "v850": + return "av850"; } throw "Unable to deduce assembler name for unsupported architecture: '" + qbs.architecture + "'"; @@ -98,6 +102,7 @@ function linkerName(qbs) { case "mcs51": case "avr": case "msp430": + case "v850": return "xlink"; } throw "Unable to deduce linker name for unsupported architecture: '" @@ -115,6 +120,7 @@ function archiverName(qbs) { case "mcs51": case "avr": case "msp430": + case "v850": return "xlib"; } throw "Unable to deduce archiver name for unsupported architecture: '" @@ -135,6 +141,8 @@ function staticLibrarySuffix(qbs) { return ".r90"; case "msp430": return ".r43"; + case "v850": + return ".r85"; } throw "Unable to deduce static library suffix for unsupported architecture: '" + qbs.architecture + "'"; @@ -154,6 +162,8 @@ function executableSuffix(qbs) { return qbs.debugInformation ? ".d90" : ".a90"; case "msp430": return qbs.debugInformation ? ".d43" : ".a43"; + case "v850": + return qbs.debugInformation ? ".d85" : ".a85"; } throw "Unable to deduce executable suffix for unsupported architecture: '" + qbs.architecture + "'"; @@ -173,6 +183,8 @@ function objectSuffix(qbs) { return ".r90"; case "msp430": return ".r43"; + case "v850": + return ".r85"; } throw "Unable to deduce object file suffix for unsupported architecture: '" + qbs.architecture + "'"; @@ -189,6 +201,7 @@ function imageFormat(qbs) { case "mcs51": case "avr": case "msp430": + case "v850": return "ubrof"; } throw "Unable to deduce image format for unsupported architecture: '" @@ -212,6 +225,8 @@ function guessArchitecture(macros) { return "rx"; else if (macros["__ICCRH850__"] === "1") return "rh850"; + else if (macros["__ICCV850__"] === "1") + return "v850"; } function guessEndianness(macros) { @@ -236,6 +251,7 @@ function guessVersion(macros, architecture) case "rl78": case "rx": case "rh850": + case "v850": return { major: parseInt(version / 100), minor: parseInt(version % 100), patch: 0, @@ -255,6 +271,7 @@ function cppLanguageOption(compilerFilePath) { case "iccavr": case "iccstm8": case "icc430": + case "iccv850": return "--ec++"; } throw "Unable to deduce C++ language option for unsupported compiler: '" @@ -542,6 +559,7 @@ function compilerFlags(project, product, input, outputs, explicitlyDependsOn) { case "mcs51": case "avr": case "msp430": + case "v850": // Enable C++ language flags. if (tag === "cpp") args.push("--ec++"); @@ -670,6 +688,7 @@ function linkerFlags(project, product, input, outputs) { case "mcs51": case "avr": case "msp430": + case "v850": // Silent output generation flag. args.push("-S"); // Debug information flag. |