From c60b8ba4d4a61f5f2ca60b45e021bbdd43b73fce Mon Sep 17 00:00:00 2001 From: Denis Shienkov Date: Wed, 23 Jan 2019 12:14:44 +0300 Subject: bare-metal: Add IAR AVR toolchain support This commit adds a basic support of the IAR Embedded Workbench toolchain for the AVR 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 AVR v7.20.1 on Windows using the simple projects samples which are comes with the default IAR installer. Change-Id: I4ba65e0a753f8703764551c62d630849ff86d91f Reviewed-by: Richard Weickelt Reviewed-by: Christian Kandeler --- share/qbs/modules/cpp/iar.qbs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'share/qbs/modules/cpp/iar.qbs') diff --git a/share/qbs/modules/cpp/iar.qbs b/share/qbs/modules/cpp/iar.qbs index df5218838..f7536fd07 100644 --- a/share/qbs/modules/cpp/iar.qbs +++ b/share/qbs/modules/cpp/iar.qbs @@ -82,6 +82,8 @@ CppModule { return "iccarm" + compilerExtension; case "mcs51": return "icc8051" + compilerExtension; + case "avr": + return "iccavr" + compilerExtension; } } compilerPath: FileInfo.joinPaths(toolchainInstallPath, compilerName) @@ -92,6 +94,8 @@ CppModule { return "iasmarm" + compilerExtension; case "mcs51": return "a8051" + compilerExtension; + case "avr": + return "aavr" + compilerExtension; } } assemblerPath: FileInfo.joinPaths(toolchainInstallPath, assemblerName) @@ -102,6 +106,8 @@ CppModule { return "ilinkarm" + compilerExtension; case "mcs51": return "xlink" + compilerExtension; + case "avr": + return "xlink" + compilerExtension; } } linkerPath: FileInfo.joinPaths(toolchainInstallPath, linkerName) @@ -112,6 +118,8 @@ CppModule { return "iarchive" + compilerExtension; case "mcs51": return "xlib" + compilerExtension; + case "avr": + return "xlib" + compilerExtension; } } property string archiverPath: FileInfo.joinPaths(toolchainInstallPath, archiverName) @@ -124,6 +132,8 @@ CppModule { return ".a"; case "mcs51": return ".r51"; + case "avr": + return ".r90"; } } @@ -133,6 +143,8 @@ CppModule { return ".out"; case "mcs51": return qbs.debugInformation ? ".d51" : ".a51"; + case "avr": + return qbs.debugInformation ? ".d90" : ".a90"; } } @@ -142,6 +154,8 @@ CppModule { return ".o"; case "mcs51": return ".r51"; + case "avr": + return ".r90"; } } @@ -151,6 +165,8 @@ CppModule { return "elf"; case "mcs51": return "ubrof"; + case "avr": + return "ubrof"; } } -- cgit v1.2.3