From df92e79da4a6d10ac64d011faeabf4ffbfaa9ec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Mu=C4=87ko?= Date: Thu, 15 Sep 2022 17:25:49 +0200 Subject: [PATCH] McuSupport: Sync JSON files with QtMCUs repo and related fixes This synchronizes JSON files used by unit tests with files in QtMCUs repo. To do that some changes in code were needed. QtMCUs package is no longer created for each JSON file. Because of its nature it's created once and passed to each target. Unit tests now have verifyPackage function to avoid duplication of checks. In test creating target QtMCUs package is checked beside toolchain ones. Change-Id: I5dea470daf184b45facfaaa793c359310ac22fc1 Reviewed-by: Reviewed-by: Yasser Grimes Reviewed-by: Alessandro Portale --- .../mcusupport/mcuabstracttargetfactory.h | 2 +- src/plugins/mcusupport/mcukitmanager.cpp | 12 +- src/plugins/mcusupport/mcupackage.cpp | 1 - src/plugins/mcusupport/mcusupportoptions.cpp | 4 +- src/plugins/mcusupport/mcusupportsdk.cpp | 14 +- src/plugins/mcusupport/mcusupportsdk.h | 5 +- src/plugins/mcusupport/mcutargetfactory.cpp | 16 +- src/plugins/mcusupport/mcutargetfactory.h | 2 +- .../mcusupport/mcutargetfactorylegacy.cpp | 3 +- .../mcusupport/mcutargetfactorylegacy.h | 2 +- .../test/armgcc_ek_ra6m3g_baremetal_json.h | 80 ++++ .../test/armgcc_ek_ra6m3g_freertos_json.h | 81 ++++ .../test/armgcc_example_baremetal_json.h | 56 +++ .../armgcc_mimxrt1050_evk_baremetal_json.h | 80 ++++ .../armgcc_mimxrt1050_evk_freertos_json.h | 90 ++++ .../armgcc_mimxrt1060_evk_baremetal_json.h | 70 +++ .../armgcc_mimxrt1064_evk_baremetal_json.h | 80 ++++ .../armgcc_mimxrt1064_evk_freertos_json.h | 90 ++++ .../armgcc_mimxrt1170_evk_freertos_json.h | 88 ++++ .../mcusupport/test/armgcc_nxp_1050_json.h | 90 ---- .../mcusupport/test/armgcc_nxp_1064_json.h | 75 ---- .../armgcc_nxp_mimxrt1170_evk_freertos_json.h | 92 ---- ...mgcc_stm32f469i_discovery_baremetal_json.h | 76 ++++ ...mgcc_stm32f769i_discovery_baremetal_json.h | 76 ++++ ...rmgcc_stm32f769i_discovery_freertos_json.h | 86 ++++ .../test/armgcc_stm32f769i_freertos_json.h | 94 ---- ...mgcc_stm32h750b_discovery_baremetal_json.h | 77 ++++ .../test/armgcc_stm32h750b_metal_json.h | 86 ---- src/plugins/mcusupport/test/errors_json.h | 122 +++++ .../mcusupport/test/gcc_desktop_json.h | 68 ++- .../test/ghs_rh850_d1m1a_baremetal_json.h | 121 ++--- .../test/ghs_tviic2d4m_baremetal_json.h | 59 +++ .../test/ghs_tviic2d6m_baremetal_json.h | 59 +++ .../test/iar_ek_ra6m3g_baremetal_json.h | 65 +++ .../test/iar_ek_ra6m3g_freertos_json.h | 80 ++++ .../test/iar_example_baremetal_json.h | 55 +++ .../test/iar_mimxrt1050_evk_baremetal_json.h | 79 ++++ .../test/iar_mimxrt1050_evk_freertos_json.h | 89 ++++ .../test/iar_mimxrt1060_evk_baremetal_json.h | 79 ++++ .../test/iar_mimxrt1064_evk_baremetal_json.h | 79 ++++ ...n.h => iar_mimxrt1064_evk_freertos_json.h} | 112 ++--- .../test/iar_mimxrt1170_evk_freertos_json.h | 87 ++++ .../iar_stm32f469i_discovery_baremetal_json.h | 75 ++++ .../test/iar_stm32f469i_metal_json.h | 82 ---- .../iar_stm32f769i_discovery_baremetal_json.h | 75 ++++ .../iar_stm32f769i_discovery_freertos_json.h | 85 ++++ .../iar_stm32h750b_discovery_baremetal_json.h | 76 ++++ .../test/iar_tviic2d6m_baremetal_json.h | 65 +++ .../mcusupport/test/msvc_desktop_json.h | 74 ++-- src/plugins/mcusupport/test/unittest.cpp | 416 +++++++++++------- 50 files changed, 2732 insertions(+), 898 deletions(-) create mode 100644 src/plugins/mcusupport/test/armgcc_ek_ra6m3g_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/armgcc_ek_ra6m3g_freertos_json.h create mode 100644 src/plugins/mcusupport/test/armgcc_example_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/armgcc_mimxrt1050_evk_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/armgcc_mimxrt1050_evk_freertos_json.h create mode 100644 src/plugins/mcusupport/test/armgcc_mimxrt1060_evk_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/armgcc_mimxrt1064_evk_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/armgcc_mimxrt1064_evk_freertos_json.h create mode 100644 src/plugins/mcusupport/test/armgcc_mimxrt1170_evk_freertos_json.h delete mode 100644 src/plugins/mcusupport/test/armgcc_nxp_1050_json.h delete mode 100644 src/plugins/mcusupport/test/armgcc_nxp_1064_json.h delete mode 100644 src/plugins/mcusupport/test/armgcc_nxp_mimxrt1170_evk_freertos_json.h create mode 100644 src/plugins/mcusupport/test/armgcc_stm32f469i_discovery_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/armgcc_stm32f769i_discovery_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/armgcc_stm32f769i_discovery_freertos_json.h delete mode 100644 src/plugins/mcusupport/test/armgcc_stm32f769i_freertos_json.h create mode 100644 src/plugins/mcusupport/test/armgcc_stm32h750b_discovery_baremetal_json.h delete mode 100644 src/plugins/mcusupport/test/armgcc_stm32h750b_metal_json.h create mode 100644 src/plugins/mcusupport/test/errors_json.h create mode 100644 src/plugins/mcusupport/test/ghs_tviic2d4m_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/ghs_tviic2d6m_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/iar_ek_ra6m3g_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/iar_ek_ra6m3g_freertos_json.h create mode 100644 src/plugins/mcusupport/test/iar_example_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/iar_mimxrt1050_evk_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/iar_mimxrt1050_evk_freertos_json.h create mode 100644 src/plugins/mcusupport/test/iar_mimxrt1060_evk_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/iar_mimxrt1064_evk_baremetal_json.h rename src/plugins/mcusupport/test/{iar_nxp_1064_json.h => iar_mimxrt1064_evk_freertos_json.h} (54%) create mode 100644 src/plugins/mcusupport/test/iar_mimxrt1170_evk_freertos_json.h create mode 100644 src/plugins/mcusupport/test/iar_stm32f469i_discovery_baremetal_json.h delete mode 100644 src/plugins/mcusupport/test/iar_stm32f469i_metal_json.h create mode 100644 src/plugins/mcusupport/test/iar_stm32f769i_discovery_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/iar_stm32f769i_discovery_freertos_json.h create mode 100644 src/plugins/mcusupport/test/iar_stm32h750b_discovery_baremetal_json.h create mode 100644 src/plugins/mcusupport/test/iar_tviic2d6m_baremetal_json.h diff --git a/src/plugins/mcusupport/mcuabstracttargetfactory.h b/src/plugins/mcusupport/mcuabstracttargetfactory.h index f91d1a5839d..14260ae7799 100644 --- a/src/plugins/mcusupport/mcuabstracttargetfactory.h +++ b/src/plugins/mcusupport/mcuabstracttargetfactory.h @@ -25,7 +25,7 @@ public: virtual ~McuAbstractTargetFactory() = default; virtual QPair createTargets(const McuTargetDescription &, - const Utils::FilePath &qtForMcuPath) + const McuPackagePtr &qtForMCUsPackage) = 0; using AdditionalPackages = QPair, QHash>; diff --git a/src/plugins/mcusupport/mcukitmanager.cpp b/src/plugins/mcusupport/mcukitmanager.cpp index 0cc6c11e1ee..d7e3d1cc389 100644 --- a/src/plugins/mcusupport/mcukitmanager.cpp +++ b/src/plugins/mcusupport/mcukitmanager.cpp @@ -490,8 +490,7 @@ void createAutomaticKits(const SettingsHandler::Ptr &settingsHandler) return; } - FilePath dir = qtForMCUsPackage->path(); - McuSdkRepository repo{targetsAndPackages(dir, settingsHandler)}; + McuSdkRepository repo{targetsAndPackages(qtForMCUsPackage, settingsHandler)}; bool needsUpgrade = false; for (const auto &target : qAsConst(repo.mcuTargets)) { @@ -529,8 +528,7 @@ void upgradeKitsByCreatingNewPackage(const SettingsHandler::Ptr &settingsHandler McuPackagePtr qtForMCUsPackage{createQtForMCUsPackage(settingsHandler)}; - auto dir = qtForMCUsPackage->path(); - McuSdkRepository repo{targetsAndPackages(dir, settingsHandler)}; + McuSdkRepository repo{targetsAndPackages(qtForMCUsPackage, settingsHandler)}; for (const auto &target : qAsConst(repo.mcuTargets)) { if (!matchingKits(target.get(), qtForMCUsPackage).empty()) @@ -571,8 +569,7 @@ void updatePathsInExistingKits(const SettingsHandler::Ptr &settingsHandler) { McuPackagePtr qtForMCUsPackage{createQtForMCUsPackage(settingsHandler)}; - FilePath dir = qtForMCUsPackage->path(); - McuSdkRepository repo{targetsAndPackages(dir, settingsHandler)}; + McuSdkRepository repo{targetsAndPackages(qtForMCUsPackage, settingsHandler)}; for (const auto &target : qAsConst(repo.mcuTargets)) { if (target->isValid()) { for (auto *kit : kitsWithMismatchedDependencies(target.get())) { @@ -657,8 +654,7 @@ void fixExistingKits(const SettingsHandler::Ptr &settingsHandler) McuPackagePtr qtForMCUsPackage{createQtForMCUsPackage(settingsHandler)}; qtForMCUsPackage->updateStatus(); if (qtForMCUsPackage->isValidStatus()) { - FilePath dir = qtForMCUsPackage->path(); - McuSdkRepository repo{targetsAndPackages(dir, settingsHandler)}; + McuSdkRepository repo{targetsAndPackages(qtForMCUsPackage, settingsHandler)}; for (const auto &target : qAsConst(repo.mcuTargets)) for (auto kit : existingKits(target.get())) { if (McuDependenciesKitAspect::dependencies(kit).isEmpty()) { diff --git a/src/plugins/mcusupport/mcupackage.cpp b/src/plugins/mcusupport/mcupackage.cpp index d2a843dee98..27465380bc3 100644 --- a/src/plugins/mcusupport/mcupackage.cpp +++ b/src/plugins/mcusupport/mcupackage.cpp @@ -118,7 +118,6 @@ FilePath McuPackage::detectionPath() const void McuPackage::setPath(const FilePath &newPath) { m_path = newPath; - m_defaultPath = newPath; updateStatus(); } diff --git a/src/plugins/mcusupport/mcusupportoptions.cpp b/src/plugins/mcusupport/mcusupportoptions.cpp index 878e012325f..59e5325c98a 100644 --- a/src/plugins/mcusupport/mcusupportoptions.cpp +++ b/src/plugins/mcusupport/mcusupportoptions.cpp @@ -96,11 +96,11 @@ bool McuSupportOptions::isLegacyVersion(const QVersionNumber &version) return version < newVersion; } -void McuSupportOptions::setQulDir(const FilePath &dir) +void McuSupportOptions::setQulDir(const FilePath &) { qtForMCUsSdkPackage->updateStatus(); if (qtForMCUsSdkPackage->isValidStatus()) - sdkRepository = targetsAndPackages(dir, settingsHandler); + sdkRepository = targetsAndPackages(qtForMCUsSdkPackage, settingsHandler); else sdkRepository = McuSdkRepository{}; for (const auto &package : qAsConst(sdkRepository.packages)) diff --git a/src/plugins/mcusupport/mcusupportsdk.cpp b/src/plugins/mcusupport/mcusupportsdk.cpp index 38ba26eca57..89a3222cb60 100644 --- a/src/plugins/mcusupport/mcusupportsdk.cpp +++ b/src/plugins/mcusupport/mcusupportsdk.cpp @@ -48,7 +48,7 @@ McuPackagePtr createQtForMCUsPackage(const SettingsHandler::Ptr &settingsHandler { return McuPackagePtr{ new McuPackage(settingsHandler, - McuPackage::tr("Qt for MCUs SDK"), + {}, FileUtils::homePath(), // defaultPath FilePath(Legacy::Constants::QT_FOR_MCUS_SDK_PACKAGE_VALIDATION_PATH) .withExecutableSuffix(), // detectionPath @@ -573,19 +573,20 @@ static McuAbstractTargetFactory::Ptr createFactory(bool isLegacy, McuSdkRepository targetsFromDescriptions(const QList &descriptions, const SettingsHandler::Ptr &settingsHandler, - const FilePath &qtForMCUSdkPath, + const McuPackagePtr &qtForMCUsPackage, bool isLegacy) { Targets mcuTargets; Packages mcuPackages; - + const FilePath &qtForMCUSdkPath{qtForMCUsPackage->path()}; McuAbstractTargetFactory::Ptr targetFactory = createFactory(isLegacy, settingsHandler, qtForMCUSdkPath); for (const McuTargetDescription &desc : descriptions) { - auto [targets, packages] = targetFactory->createTargets(desc, qtForMCUSdkPath); + auto [targets, packages] = targetFactory->createTargets(desc, qtForMCUsPackage); mcuTargets.append(targets); mcuPackages.unite(packages); + mcuPackages.insert(qtForMCUsPackage); } if (isLegacy) { @@ -741,9 +742,10 @@ bool checkDeprecatedSdkError(const FilePath &qulDir, QString &message) return false; } -McuSdkRepository targetsAndPackages(const FilePath &qtForMCUSdkPath, +McuSdkRepository targetsAndPackages(const McuPackagePtr &qtForMCUsPackage, const SettingsHandler::Ptr &settingsHandler) { + const FilePath &qtForMCUSdkPath{qtForMCUsPackage->path()}; QList descriptions; bool isLegacy{false}; @@ -800,7 +802,7 @@ McuSdkRepository targetsAndPackages(const FilePath &qtForMCUSdkPath, } McuSdkRepository repo = targetsFromDescriptions(descriptions, settingsHandler, - qtForMCUSdkPath, + qtForMCUsPackage, isLegacy); // Keep targets sorted lexicographically diff --git a/src/plugins/mcusupport/mcusupportsdk.h b/src/plugins/mcusupport/mcusupportsdk.h index 34f3bf06c03..fabbee01c0a 100644 --- a/src/plugins/mcusupport/mcusupportsdk.h +++ b/src/plugins/mcusupport/mcusupportsdk.h @@ -25,12 +25,13 @@ McuPackagePtr createQtForMCUsPackage(const SettingsHandler::Ptr &); bool checkDeprecatedSdkError(const Utils::FilePath &qulDir, QString &message); -McuSdkRepository targetsAndPackages(const Utils::FilePath &qulDir, const SettingsHandler::Ptr &); +McuSdkRepository targetsAndPackages(const McuPackagePtr &qtForMCUsPackage, + const SettingsHandler::Ptr &); McuTargetDescription parseDescriptionJson(const QByteArray &); McuSdkRepository targetsFromDescriptions(const QList &, const SettingsHandler::Ptr &, - const Utils::FilePath &qtForMCUSdkPath, + const McuPackagePtr &qtForMCUsPackage, bool isLegacy); Utils::FilePath kitsPath(const Utils::FilePath &dir); diff --git a/src/plugins/mcusupport/mcutargetfactory.cpp b/src/plugins/mcusupport/mcutargetfactory.cpp index 416ee025f47..a46490d45ea 100644 --- a/src/plugins/mcusupport/mcutargetfactory.cpp +++ b/src/plugins/mcusupport/mcutargetfactory.cpp @@ -46,6 +46,14 @@ McuPackageVersionDetector *createVersionDetection(const VersionDetection &versio versionDetection.isFile); } +static void removeEmptyPackages(Packages &packages) +{ + for (const McuPackagePtr &pkg : packages) { + if (pkg->cmakeVariableName().isEmpty() && pkg->path().isEmpty()) + packages.remove(pkg); + } +} + static void expandVariables(Packages &packages) { Utils::MacroExpander macroExpander; @@ -63,7 +71,7 @@ McuTargetFactory::McuTargetFactory(const SettingsHandler::Ptr &settingsHandler) {} QPair McuTargetFactory::createTargets(const McuTargetDescription &desc, - const Utils::FilePath & /*qtForMCUSdkPath*/) + const McuPackagePtr &qtForMCUsPackage) { Targets mcuTargets; Packages packages; @@ -80,8 +88,10 @@ QPair McuTargetFactory::createTargets(const McuTargetDescript Packages targetPackages = createPackages(desc); McuToolChainPackagePtr toolchainPtr{toolchain}; targetPackages.insert({toolchainPtr}); + targetPackages.insert({qtForMCUsPackage}); targetPackages.unite({toolchainFile}); + removeEmptyPackages(targetPackages); expandVariables(targetPackages); packages.unite(targetPackages); @@ -143,8 +153,8 @@ McuToolChainPackage *McuTargetFactory::createToolchain( {"msvc", McuToolChainPackage::ToolChainType::MSVC}, {"gcc", McuToolChainPackage::ToolChainType::GCC}, {"armgcc", McuToolChainPackage::ToolChainType::ArmGcc}, - {"ghs", McuToolChainPackage::ToolChainType::GHS}, - {"ghsarm", McuToolChainPackage::ToolChainType::GHSArm}, + {"greenhills", McuToolChainPackage::ToolChainType::GHS}, + {"arm-greenhills", McuToolChainPackage::ToolChainType::GHSArm}, }; const PackageDescription compilerDescription{toolchain.compiler}; diff --git a/src/plugins/mcusupport/mcutargetfactory.h b/src/plugins/mcusupport/mcutargetfactory.h index 8fbd1186301..16d09acef56 100644 --- a/src/plugins/mcusupport/mcutargetfactory.h +++ b/src/plugins/mcusupport/mcutargetfactory.h @@ -18,7 +18,7 @@ class McuTargetFactory : public McuAbstractTargetFactory public: explicit McuTargetFactory(const SettingsHandler::Ptr &); QPair createTargets(const McuTargetDescription &, - const Utils::FilePath &qtForMCUSdkPath) override; + const McuPackagePtr &qtForMCUsPackage) override; Packages createPackages(const McuTargetDescription &); McuToolChainPackage *createToolchain(const McuTargetDescription::Toolchain &); McuPackagePtr createPackage(const PackageDescription &); diff --git a/src/plugins/mcusupport/mcutargetfactorylegacy.cpp b/src/plugins/mcusupport/mcutargetfactorylegacy.cpp index cce79b93d74..44f9aa07825 100644 --- a/src/plugins/mcusupport/mcutargetfactorylegacy.cpp +++ b/src/plugins/mcusupport/mcutargetfactorylegacy.cpp @@ -24,8 +24,9 @@ McuTargetFactory::McuTargetFactory(const QHash McuTargetFactory::createTargets(const McuTargetDescription &desc, - const Utils::FilePath &qtForMcuPath) + const McuPackagePtr &qtForMCUsPackage) { + const Utils::FilePath &qtForMcuPath{qtForMCUsPackage->path()}; QHash boardSdkPkgs; QHash freeRTOSPkgs; Targets mcuTargets; diff --git a/src/plugins/mcusupport/mcutargetfactorylegacy.h b/src/plugins/mcusupport/mcutargetfactorylegacy.h index be3ab6e459f..b5967586234 100644 --- a/src/plugins/mcusupport/mcutargetfactorylegacy.h +++ b/src/plugins/mcusupport/mcutargetfactorylegacy.h @@ -28,7 +28,7 @@ public: const SettingsHandler::Ptr &); QPair createTargets(const McuTargetDescription &, - const Utils::FilePath &qtForMCUSdkPath) override; + const McuPackagePtr &qtForMCUsPackage) override; AdditionalPackages getAdditionalPackages() const override; McuToolChainPackagePtr getToolchainCompiler(const McuTargetDescription::Toolchain &) const; diff --git a/src/plugins/mcusupport/test/armgcc_ek_ra6m3g_baremetal_json.h b/src/plugins/mcusupport/test/armgcc_ek_ra6m3g_baremetal_json.h new file mode 100644 index 00000000000..356e7b3e4d3 --- /dev/null +++ b/src/plugins/mcusupport/test/armgcc_ek_ra6m3g_baremetal_json.h @@ -0,0 +1,80 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto armgcc_ek_ra6m3g_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "EK-RA6M3G-BAREMETAL", + "vendor": "RENESAS", + "colorDepths": [ + 16 + ], + "cmakeEntries": [ + { + "cmakeVar": "JLINK_PATH", + "setting": "JLinkPath", + "envVar": "JLINK_PATH", + "label": "Path to SEGGER J-Link", + "type": "path", + "defaultValue": { + "windows": "%{Env:PROGRAMSANDFILES}/SEGGER/JLink", + "unix": "/opt/SEGGER/JLink" + }, + "optional": true + }, + { + "cmakeVar": "EK_RA6M3G_E2_PROJECT_PATH", + "defaultValue": "%{Env:HOME}/e2_studio/workspace/", + "id": "EK_RA6M3G_E2_PROJECT_PATH", + "label": "Path to project for Renesas e2 Studio", + "optional": true, + "setting": "RenesasE2ProjectPath", + "type": "path" + } + ] + }, + "toolchain": { + "id": "armgcc", + "versions": [ + "10.3.1" + ], + "compiler": { + "id": "ARMGCC_DIR", + "label": "GNU Arm Embedded Toolchain", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "envVar": "ARMGCC_DIR", + "setting": "GNUArmEmbeddedToolchain", + "type": "path", + "optional": false, + "versionDetection": { + "filePattern": "bin/arm-none-eabi-g++", + "executableArgs": "--version", + "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" + } + }, + "file": { + "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "cmakeVar": "QUL_BOARD_SDK_DIR", + "envVar": "EK_RA6M3G_FSP_PATH", + "id": "EK_RA6M3G_FSP_PATH", + "label": "Flexible Software Package for Renesas RA MCU Family", + "optional": false, + "type": "path", + "versions": [ + "3.8.0" + ] + } +} +)"; diff --git a/src/plugins/mcusupport/test/armgcc_ek_ra6m3g_freertos_json.h b/src/plugins/mcusupport/test/armgcc_ek_ra6m3g_freertos_json.h new file mode 100644 index 00000000000..a7dc79022af --- /dev/null +++ b/src/plugins/mcusupport/test/armgcc_ek_ra6m3g_freertos_json.h @@ -0,0 +1,81 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto armgcc_ek_ra6m3g_freertos_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "EK-RA6M3G-FREERTOS", + "vendor": "RENESAS", + "colorDepths": [ + 16 + ], + "cmakeEntries": [ + { + "cmakeVar": "JLINK_PATH", + "setting": "JLinkPath", + "envVar": "JLINK_PATH", + "label": "Path to SEGGER J-Link", + "type": "path", + "defaultValue": { + "windows": "%{Env:PROGRAMSANDFILES}/SEGGER/JLink", + "unix": "/opt/SEGGER/JLink" + }, + "optional": true + } + ] + }, + "toolchain": { + "id": "armgcc", + "versions": [ + "10.3.1" + ], + "compiler": { + "id": "ARMGCC_DIR", + "label": "GNU Arm Embedded Toolchain", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "envVar": "ARMGCC_DIR", + "setting": "GNUArmEmbeddedToolchain", + "type": "path", + "optional": false, + "versionDetection": { + "filePattern": "bin/arm-none-eabi-g++", + "executableArgs": "--version", + "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" + } + }, + "file": { + "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "cmakeVar": "QUL_BOARD_SDK_DIR", + "envVar": "EK_RA6M3G_FSP_PATH", + "id": "EK_RA6M3G_FSP_PATH", + "label": "Flexible Software Package for Renesas RA MCU Family", + "optional": false, + "type": "path", + "versions": [ + "3.8.0" + ] + }, + "freeRTOS": { + "envVar": "EK_RA6M3G_FREERTOS_DIR", + "id": "EK_RA6M3G_FREERTOS_DIR", + "label": "FreeRTOS SDK for EK-RA6M3G", + "cmakeVar": "FREERTOS_DIR", + "defaultValue": "%{Qul_ROOT}/platform/boards/renesas/ek-ra6m3g-common/3rdparty/freertos", + "validation": "tasks.c", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/armgcc_example_baremetal_json.h b/src/plugins/mcusupport/test/armgcc_example_baremetal_json.h new file mode 100644 index 00000000000..0e1bc9ca461 --- /dev/null +++ b/src/plugins/mcusupport/test/armgcc_example_baremetal_json.h @@ -0,0 +1,56 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto armgcc_example_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "colorDepths": [ + 16 + ], + "id": "EXAMPLE-BAREMETAL", + "vendor": "Vendor Name" + }, + "toolchain": { + "id": "armgcc", + "versions": [ + "10.3.1" + ], + "compiler": { + "id": "ARMGCC_DIR", + "label": "GNU Arm Embedded Toolchain", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "envVar": "ARMGCC_DIR", + "setting": "GNUArmEmbeddedToolchain", + "type": "path", + "optional": false, + "versionDetection": { + "filePattern": "bin/arm-none-eabi-g++", + "executableArgs": "--version", + "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" + } + }, + "file": { + "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "versions": [ + "1.16.0" + ], + "id": "EXAMPLE_SDK_DIR", + "label": "Board SDK", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/armgcc_mimxrt1050_evk_baremetal_json.h b/src/plugins/mcusupport/test/armgcc_mimxrt1050_evk_baremetal_json.h new file mode 100644 index 00000000000..1b91b062925 --- /dev/null +++ b/src/plugins/mcusupport/test/armgcc_mimxrt1050_evk_baremetal_json.h @@ -0,0 +1,80 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto armgcc_mimxrt1050_evk_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "MIMXRT1050-EVK-BAREMETAL", + "vendor": "NXP", + "colorDepths": [ + 16 + ], + "cmakeEntries": [ + { + "label": "MCUXpresso IDE", + "type": "path", + "cmakeVar": "MCUXPRESSO_IDE_PATH", + "envVar": "MCUXpressoIDE_PATH", + "setting": "MCUXpressoIDE", + "defaultValue": { + "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", + "unix": "/usr/local/mcuxpressoide/" + }, + "versionDetection": { + "filePattern": "ide/binaries/crt_emu_cm_redlink" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "armgcc", + "versions": [ + "10.3.1" + ], + "compiler": { + "id": "ARMGCC_DIR", + "label": "GNU Arm Embedded Toolchain", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "envVar": "ARMGCC_DIR", + "setting": "GNUArmEmbeddedToolchain", + "type": "path", + "optional": false, + "versionDetection": { + "filePattern": "bin/arm-none-eabi-g++", + "executableArgs": "--version", + "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" + } + }, + "file": { + "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "cmakeVar": "QUL_BOARD_SDK_DIR", + "envVar": "EVKB_IMXRT1050_SDK_PATH", + "label": "Board SDK for MIMXRT1050-EVK", + "optional": false, + "setting": "EVKB_IMXRT1050_SDK_PATH", + "type": "path", + "versionDetection": { + "filePattern": "*_manifest_*.xml", + "regex": ".*", + "xmlAttribute": "version", + "xmlElement": "ksdk" + }, + "versions": [ + "2.12.0" + ] + } +} +)"; diff --git a/src/plugins/mcusupport/test/armgcc_mimxrt1050_evk_freertos_json.h b/src/plugins/mcusupport/test/armgcc_mimxrt1050_evk_freertos_json.h new file mode 100644 index 00000000000..3b6887f914f --- /dev/null +++ b/src/plugins/mcusupport/test/armgcc_mimxrt1050_evk_freertos_json.h @@ -0,0 +1,90 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto armgcc_mimxrt1050_evk_freertos_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "MIMXRT1050-EVK-FREERTOS", + "vendor": "NXP", + "colorDepths": [ + 16 + ], + "cmakeEntries": [ + { + "label": "MCUXpresso IDE", + "type": "path", + "cmakeVar": "MCUXPRESSO_IDE_PATH", + "envVar": "MCUXpressoIDE_PATH", + "setting": "MCUXpressoIDE", + "defaultValue": { + "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", + "unix": "/usr/local/mcuxpressoide/" + }, + "versionDetection": { + "filePattern": "ide/binaries/crt_emu_cm_redlink" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "armgcc", + "versions": [ + "10.3.1" + ], + "compiler": { + "id": "ARMGCC_DIR", + "label": "GNU Arm Embedded Toolchain", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "envVar": "ARMGCC_DIR", + "setting": "GNUArmEmbeddedToolchain", + "type": "path", + "optional": false, + "versionDetection": { + "filePattern": "bin/arm-none-eabi-g++", + "executableArgs": "--version", + "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" + } + }, + "file": { + "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "cmakeVar": "QUL_BOARD_SDK_DIR", + "envVar": "EVKB_IMXRT1050_SDK_PATH", + "label": "Board SDK for MIMXRT1050-EVK", + "optional": false, + "setting": "EVKB_IMXRT1050_SDK_PATH", + "type": "path", + "versionDetection": { + "filePattern": "*_manifest_*.xml", + "regex": ".*", + "xmlAttribute": "version", + "xmlElement": "ksdk" + }, + "versions": [ + "2.12.0" + ] + }, + "freeRTOS": { + "cmakeVar": "FREERTOS_DIR", + "defaultValue": "%{QUL_BOARD_SDK_DIR}/rtos/freertos/freertos_kernel", + "validation": "tasks.c", + "envVar": "IMXRT1050_FREERTOS_DIR", + "label": "FreeRTOS SDK for MIMXRT1050-EVK", + "optional": false, + "setting": "FreeRTOSSourcePackage_IMXRT1050", + "type": "path" + } +} +)"; diff --git a/src/plugins/mcusupport/test/armgcc_mimxrt1060_evk_baremetal_json.h b/src/plugins/mcusupport/test/armgcc_mimxrt1060_evk_baremetal_json.h new file mode 100644 index 00000000000..8cb4679cedc --- /dev/null +++ b/src/plugins/mcusupport/test/armgcc_mimxrt1060_evk_baremetal_json.h @@ -0,0 +1,70 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto armgcc_mimxrt1060_evk_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "MIMXRT1060-EVK-BAREMETAL", + "vendor": "NXP", + "colorDepths": [ + 16 + ], + "cmakeEntries": [ + { + "id": "MCU_XPRESSO_PATH", + "label": "MCUXpresso IDE", + "type": "path", + "cmakeVar": "MCUXPRESSO_IDE_PATH", + "defaultValue": { + "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", + "unix": "/usr/local/mcuxpressoide/" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "armgcc", + "versions": [ + "10.3.1" + ], + "compiler": { + "id": "ARMGCC_DIR", + "label": "GNU Arm Embedded Toolchain", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "envVar": "ARMGCC_DIR", + "setting": "GNUArmEmbeddedToolchain", + "type": "path", + "optional": false, + "versionDetection": { + "filePattern": "bin/arm-none-eabi-g++", + "executableArgs": "--version", + "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" + } + }, + "file": { + "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "envVar": "EVK_MIMXRT1060_SDK_PATH", + "versions": [ + "2.12.0" + ], + "id": "NXP_SDK_DIR", + "label": "Board SDK MIMXRT1060-EVK", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/armgcc_mimxrt1064_evk_baremetal_json.h b/src/plugins/mcusupport/test/armgcc_mimxrt1064_evk_baremetal_json.h new file mode 100644 index 00000000000..3683818f2a6 --- /dev/null +++ b/src/plugins/mcusupport/test/armgcc_mimxrt1064_evk_baremetal_json.h @@ -0,0 +1,80 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto armgcc_mimxrt1064_evk_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "MIMXRT1064-EVK-BAREMETAL", + "vendor": "NXP", + "colorDepths": [ + 16 + ], + "cmakeEntries": [ + { + "label": "MCUXpresso IDE", + "type": "path", + "cmakeVar": "MCUXPRESSO_IDE_PATH", + "envVar": "MCUXpressoIDE_PATH", + "setting": "MCUXpressoIDE", + "defaultValue": { + "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", + "unix": "/usr/local/mcuxpressoide/" + }, + "versionDetection": { + "filePattern": "ide/binaries/crt_emu_cm_redlink" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "armgcc", + "versions": [ + "10.3.1" + ], + "compiler": { + "id": "ARMGCC_DIR", + "label": "GNU Arm Embedded Toolchain", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "envVar": "ARMGCC_DIR", + "setting": "GNUArmEmbeddedToolchain", + "type": "path", + "optional": false, + "versionDetection": { + "filePattern": "bin/arm-none-eabi-g++", + "executableArgs": "--version", + "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" + } + }, + "file": { + "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "cmakeVar": "QUL_BOARD_SDK_DIR", + "envVar": "EVK_MIMXRT1064_SDK_PATH", + "label": "Board SDK for MIMXRT1064-EVK", + "optional": false, + "setting": "EVK_MIMXRT1064_SDK_PATH", + "type": "path", + "versions": [ + "2.12.0" + ], + "versionDetection": { + "filePattern": "*_manifest_*.xml", + "regex": ".*", + "xmlAttribute": "version", + "xmlElement": "ksdk" + } + } +} +)"; diff --git a/src/plugins/mcusupport/test/armgcc_mimxrt1064_evk_freertos_json.h b/src/plugins/mcusupport/test/armgcc_mimxrt1064_evk_freertos_json.h new file mode 100644 index 00000000000..c2778bd61e6 --- /dev/null +++ b/src/plugins/mcusupport/test/armgcc_mimxrt1064_evk_freertos_json.h @@ -0,0 +1,90 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto armgcc_mimxrt1064_evk_freertos_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "MIMXRT1064-EVK-FREERTOS", + "vendor": "NXP", + "colorDepths": [ + 16 + ], + "cmakeEntries": [ + { + "label": "MCUXpresso IDE", + "type": "path", + "cmakeVar": "MCUXPRESSO_IDE_PATH", + "envVar": "MCUXpressoIDE_PATH", + "setting": "MCUXpressoIDE", + "defaultValue": { + "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", + "unix": "/usr/local/mcuxpressoide/" + }, + "versionDetection": { + "filePattern": "ide/binaries/crt_emu_cm_redlink" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "armgcc", + "versions": [ + "10.3.1" + ], + "compiler": { + "id": "ARMGCC_DIR", + "label": "GNU Arm Embedded Toolchain", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "envVar": "ARMGCC_DIR", + "setting": "GNUArmEmbeddedToolchain", + "type": "path", + "optional": false, + "versionDetection": { + "filePattern": "bin/arm-none-eabi-g++", + "executableArgs": "--version", + "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" + } + }, + "file": { + "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "cmakeVar": "QUL_BOARD_SDK_DIR", + "envVar": "EVK_MIMXRT1064_SDK_PATH", + "label": "Board SDK for MIMXRT1064-EVK", + "optional": false, + "setting": "EVK_MIMXRT1064_SDK_PATH", + "type": "path", + "versions": [ + "2.12.0" + ], + "versionDetection": { + "filePattern": "*_manifest_*.xml", + "regex": ".*", + "xmlAttribute": "version", + "xmlElement": "ksdk" + } + }, + "freeRTOS": { + "cmakeVar": "FREERTOS_DIR", + "defaultValue": "%{QUL_BOARD_SDK_DIR}/rtos/freertos/freertos_kernel", + "validation": "tasks.c", + "envVar": "IMXRT1064_FREERTOS_DIR", + "label": "FreeRTOS SDK for MIMXRT1064-EVK", + "optional": false, + "setting": "FreeRTOSSourcePackage_IMXRT1064", + "type": "path" + } +} +)"; diff --git a/src/plugins/mcusupport/test/armgcc_mimxrt1170_evk_freertos_json.h b/src/plugins/mcusupport/test/armgcc_mimxrt1170_evk_freertos_json.h new file mode 100644 index 00000000000..16918857ad3 --- /dev/null +++ b/src/plugins/mcusupport/test/armgcc_mimxrt1170_evk_freertos_json.h @@ -0,0 +1,88 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto armgcc_mimxrt1170_evk_freertos_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "MIMXRT1170-EVK-FREERTOS", + "vendor": "NXP", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "label": "MCUXpresso IDE", + "type": "path", + "cmakeVar": "MCUXPRESSO_IDE_PATH", + "envVar": "MCUXpressoIDE_PATH", + "setting": "MCUXpressoIDE", + "defaultValue": { + "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", + "unix": "/usr/local/mcuxpressoide/" + }, + "versionDetection": { + "filePattern": "ide/binaries/crt_emu_cm_redlink" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "armgcc", + "versions": [ + "10.3.1" + ], + "compiler": { + "id": "ARMGCC_DIR", + "label": "GNU Arm Embedded Toolchain", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "envVar": "ARMGCC_DIR", + "setting": "GNUArmEmbeddedToolchain", + "type": "path", + "optional": false, + "versionDetection": { + "filePattern": "bin/arm-none-eabi-g++", + "executableArgs": "--version", + "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" + } + }, + "file": { + "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "cmakeVar": "QUL_BOARD_SDK_DIR", + "envVar": "EVK_MIMXRT1170_SDK_PATH", + "versions": [ + "2.12.0" + ], + "label": "Board SDK for MIMXRT1170-EVK", + "type": "path", + "setting": "EVK_MIMXRT1170_SDK_PATH", + "versionDetection": { + "filePattern": "*_manifest_*.xml", + "regex": ".*", + "xmlAttribute": "version", + "xmlElement": "ksdk" + } + }, + "freeRTOS": { + "cmakeVar": "FREERTOS_DIR", + "envVar": "EVK_MIMXRT1170_FREERTOS_PATH", + "label": "FreeRTOS SDK for MIMXRT1170-EVK", + "defaultValue": "%{QUL_BOARD_SDK_DIR}/rtos/freertos/freertos_kernel", + "validation": "tasks.c", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/armgcc_nxp_1050_json.h b/src/plugins/mcusupport/test/armgcc_nxp_1050_json.h deleted file mode 100644 index d153add6c1c..00000000000 --- a/src/plugins/mcusupport/test/armgcc_nxp_1050_json.h +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright (C) 2022 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 - -#pragma once - -constexpr auto armgcc_nxp_1050_json = R"({ - "qulVersion": "2.0.0", - "compatVersion": "1", - "platform": { - "id": "MIMXRT1050-EVK-FREERTOS", - "vendor": "NXP", - "colorDepths": [ - 16 - ], - "cmakeEntries": [ - { - "label": "Qt for MCUs SDK", - "type": "path", - "cmakeVar": "Qul_ROOT", - "envVar": "Qul_DIR", - "setting": "QtForMCUsSdk", - "optional": false - }, - { - "id": "MCU_XPRESSO_PATH", - "label": "MCUXpresso IDE", - "type": "path", - "cmakeVar": "MCUXPRESSO_IDE_PATH", - "defaultValue": { - "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", - "unix": "/usr/local/mcuxpressoide/" - }, - "optional": false - } - ] - }, - "toolchain": { - "id": "armgcc", - "versions": [ - "9.3.1", - "10.3.1" - ], - "compiler": { - "label": "GNU Arm Embedded Toolchain", - "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", - "envVar": "ARMGCC_DIR", - "setting": "GNUArmEmbeddedToolchain", - "type": "path", - "optional": false, - "versionDetection" : { - "filePattern": "bin/arm-none-eabi-g++", - "executableArgs": "--version", - "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" - } - }, - "file": { - "label": "CMake Toolchain File", - "cmakeVar": "CMAKE_TOOLCHAIN_FILE", - "type": "file", - "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/armgcc.cmake", - "visible": false, - "optional": false - } - }, - "boardSdk": { - "cmakeVar": "QUL_BOARD_SDK_DIR", - "envVar": "EVKB_IMXRT1050_SDK_PATH", - "label": "Board SDK for MIMXRT1050-EVK", - "optional": false, - "setting": "EVKB_IMXRT1050_SDK_PATH", - "type": "path", - "versionDetection": { - "filePattern": "*_manifest_*.xml", - "regex": ".*", - "xmlAttribute": "version", - "xmlElement": "ksdk" - }, - "versions": ["2.11.0"] - }, - "freeRTOS": { - "cmakeVar": "FREERTOS_DIR", - "defaultValue": "%{QUL_BOARD_SDK_DIR}/rtos/freertos/freertos_kernel", - "validation": "tasks.c", - "envVar": "IMXRT1050_FREERTOS_DIR", - "label": "FreeRTOS SDK for MIMXRT1050-EVK", - "optional": false, - "setting": "FreeRTOSSourcePackage_IMXRT1050", - "type": "path" - } -})"; diff --git a/src/plugins/mcusupport/test/armgcc_nxp_1064_json.h b/src/plugins/mcusupport/test/armgcc_nxp_1064_json.h deleted file mode 100644 index 294b7734f42..00000000000 --- a/src/plugins/mcusupport/test/armgcc_nxp_1064_json.h +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright (C) 2022 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0 WITH Qt-GPL-exception-1.0 - -#pragma once - -constexpr auto armgcc_nxp_1064_json = R"( -{ - "boardSdk": { - "cmakeVar": "QUL_BOARD_SDK_DIR", - "envVar": "EVK_MIMXRT1064_SDK_PATH", - "label": "Board SDK for MIMXRT1064-EVK", - "optional": false, - "setting": "EVK_MIMXRT1064_SDK_PATH", - "type": "path", - "versions": ["2.11.1"] - }, - "compatVersion": "1", - "freeRTOS": { - "cmakeVar": "FREERTOS_DIR", - "defaultValue": "%{QUL_BOARD_SDK_DIR}/rtos/freertos/freertos_kernel", - "validation": "tasks.c", - "envVar": "IMXRT1064_FREERTOS_DIR", - "label": "FreeRTOS SDK for MIMXRT1064-EVK", - "optional": false, - "setting": "FreeRTOSSourcePackage_IMXRT1064", - "type": "path" - }, - "platform": { - "cmakeCacheEntries": [ - { - "camekVar": "Qul_ROOT", - "envVar": "Qul_DIR", - "label": "Qt for MCUs SDK", - "optional": false, - "type": "path" - }, - { - "camekVar": "MCUXPRESSO_IDE_PATH", - "defaultValue": { - "unix": "/usr/local/mcuxpressoide/", - "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*" - }, - "id": "MCU_XPRESSO_PATH", - "label": "MCUXpresso IDE", - "optional": false, - "type": "path" - } - ], - "colorDepths": [16], - "environmentEntries": [], - "id": "MIMXRT1064-EVK-FREERTOS", - "pathEntries": [], - "vendor": "NXP" - }, - "qulVersion": "2.3.0", - "toolchain": { - "compiler": { - "camekVar": "QUL_TARGET_TOOLCHAIN_DIR", - "id": "ARMGCC_DIR", - "label": "GNU Arm Embedded Toolchain", - "optional": false, - "type": "path" - }, - "file": { - "camekVar": "CMAKE_TOOLCHAIN_FILE", - "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/armgcc.cmake", - "label": "CMake Toolchain File", - "optional": false, - "type": "file", - "visible": false - }, - "id": "armgcc", - "versions": ["9.3.1"] - } -})"; diff --git a/src/plugins/mcusupport/test/armgcc_nxp_mimxrt1170_evk_freertos_json.h b/src/plugins/mcusupport/test/armgcc_nxp_mimxrt1170_evk_freertos_json.h deleted file mode 100644 index 4e22805e168..00000000000 --- a/src/plugins/mcusupport/test/armgcc_nxp_mimxrt1170_evk_freertos_json.h +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright (C) 2022 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 - -#pragma once - -constexpr auto armgcc_nxp_mimxrt1170_evk_freertos_json = R"({ - "qulVersion": "2.1.5", - "compatVersion": "1", - "platform": { - "id": "MIMXRT1170-EVK-FREERTOS", - "vendor": "NXP", - "colorDepths": [ - 32 - ], - "pathEntries": [], - "environmentEntries": [], - "cmakeEntries": [ - { - "id": "Qul_DIR", - "description": "Qt for MCUs SDK", - "type": "path", - "cmakeVar": "Qul_ROOT", - "optional": false - }, - { - "id": "MCU_XPRESSO_PATH", - "description": "MCUXpresso IDE", - "type": "path", - "cmakeVar": "MCUXPRESSO_IDE_PATH", - "defaultValue": { - "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", - "unix": "/usr/local/mcuxpressoide/" - }, - "optional": false - } - ] - }, - "toolchain": { - "id": "armgcc", - "versions": [ - "9.3.1" - ], - "compiler": { - "id": "ARMGCC_DIR", - "label": "GNU Arm Embedded Toolchain", - "description": "GNU Arm Embedded Toolchain", - "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", - "envVar": "ARMGCC_DIR", - "setting": "GNUArmEmbeddedToolchain", - "type": "path", - "optional": false - }, - "file": { - "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", - "label": "CMake Toolchain File", - "description": "CMake Toolchain File", - "cmakeVar": "CMAKE_TOOLCHAIN_FILE", - "type": "file", - "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", - "visible": false, - "optional": false - } - }, - "boardSdk": { - "envVar": "EVK_MIMXRT1170_SDK_PATH", - "versions": [ - "2.10.1" - ], - "cmakeEntries": [ - { - "id": "NXP_SDK_DIR", - "description": "Board SDK for MIMXRT1170-EVK", - "cmakeVar": "QUL_BOARD_SDK_DIR", - "type": "path", - "optional": false - } - ] - }, - "freeRTOS": { - "envVar": "EVK_MIMXRT1170_FREERTOS_PATH", - "cmakeEntries": [ - { - "id": "NXP_FREERTOS_DIR", - "description": "FreeRTOS SDK for MIMXRT1170-EVK", - "cmakeVar": "FREERTOS_DIR", - "defaultValue": "%{QUL_BOARD_SDK_DIR}/rtos/freertos/freertos_kernel", - "type": "path", - "optional": false - } - ] - } -})"; diff --git a/src/plugins/mcusupport/test/armgcc_stm32f469i_discovery_baremetal_json.h b/src/plugins/mcusupport/test/armgcc_stm32f469i_discovery_baremetal_json.h new file mode 100644 index 00000000000..9dff84e6f08 --- /dev/null +++ b/src/plugins/mcusupport/test/armgcc_stm32f469i_discovery_baremetal_json.h @@ -0,0 +1,76 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto armgcc_stm32f469i_discovery_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "STM32F469I-DISCOVERY-BAREMETAL", + "vendor": "ST", + "colorDepths": [ + 24 + ], + "cmakeEntries": [ + { + "id": "STM32CubeProgrammer_PATH", + "label": "STM32CubeProgrammer", + "type": "path", + "defaultValue": { + "windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/", + "unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "armgcc", + "versions": [ + "10.3.1" + ], + "compiler": { + "id": "ARMGCC_DIR", + "label": "GNU Arm Embedded Toolchain", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "envVar": "ARMGCC_DIR", + "setting": "GNUArmEmbeddedToolchain", + "type": "path", + "optional": false, + "versionDetection": { + "filePattern": "bin/arm-none-eabi-g++", + "executableArgs": "--version", + "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" + } + }, + "file": { + "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "envVar": "STM32Cube_FW_F4_SDK_PATH", + "setting": "STM32Cube_FW_F4_SDK_PATH", + "versions": [ + "1.27.0" + ], + "versionDetection": { + "filePattern": "package.xml", + "xmlElement": "PackDescription", + "xmlAttribute": "Release", + "regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b" + }, + "id": "ST_SDK_DIR", + "label": "Board SDK for STM32F469I-Discovery", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/armgcc_stm32f769i_discovery_baremetal_json.h b/src/plugins/mcusupport/test/armgcc_stm32f769i_discovery_baremetal_json.h new file mode 100644 index 00000000000..5e85ada4362 --- /dev/null +++ b/src/plugins/mcusupport/test/armgcc_stm32f769i_discovery_baremetal_json.h @@ -0,0 +1,76 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto armgcc_stm32f769i_discovery_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "STM32F769I-DISCOVERY-BAREMETAL", + "vendor": "ST", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "id": "STM32CubeProgrammer_PATH", + "label": "STM32CubeProgrammer", + "type": "path", + "setting": "Stm32CubeProgrammer", + "defaultValue": { + "windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/", + "unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "armgcc", + "versions": [ + "10.3.1" + ], + "compiler": { + "id": "ARMGCC_DIR", + "label": "GNU Arm Embedded Toolchain", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "envVar": "ARMGCC_DIR", + "setting": "GNUArmEmbeddedToolchain", + "type": "path", + "optional": false, + "versionDetection": { + "filePattern": "bin/arm-none-eabi-g++", + "executableArgs": "--version", + "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" + } + }, + "file": { + "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "envVar": "STM32Cube_FW_F7_SDK_PATH", + "setting": "STM32Cube_FW_F7_SDK_PATH", + "versions": [ + "1.17.0" + ], + "versionDetection": { + "filePattern": "package.xml", + "xmlElement": "PackDescription", + "xmlAttribute": "Release", + "regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b" + }, + "label": "Board SDK for STM32F769I-Discovery", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/armgcc_stm32f769i_discovery_freertos_json.h b/src/plugins/mcusupport/test/armgcc_stm32f769i_discovery_freertos_json.h new file mode 100644 index 00000000000..60742512cc5 --- /dev/null +++ b/src/plugins/mcusupport/test/armgcc_stm32f769i_discovery_freertos_json.h @@ -0,0 +1,86 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto armgcc_stm32f769i_discovery_freertos_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "STM32F769I-DISCOVERY-FREERTOS", + "vendor": "ST", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "id": "STM32CubeProgrammer_PATH", + "label": "STM32CubeProgrammer", + "type": "path", + "setting": "Stm32CubeProgrammer", + "defaultValue": { + "windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/", + "unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "armgcc", + "versions": [ + "10.3.1" + ], + "compiler": { + "id": "ARMGCC_DIR", + "label": "GNU Arm Embedded Toolchain", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "envVar": "ARMGCC_DIR", + "setting": "GNUArmEmbeddedToolchain", + "type": "path", + "optional": false, + "versionDetection": { + "filePattern": "bin/arm-none-eabi-g++", + "executableArgs": "--version", + "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" + } + }, + "file": { + "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "envVar": "STM32Cube_FW_F7_SDK_PATH", + "setting": "STM32Cube_FW_F7_SDK_PATH", + "versions": [ + "1.17.0" + ], + "versionDetection": { + "filePattern": "package.xml", + "xmlElement": "PackDescription", + "xmlAttribute": "Release", + "regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b" + }, + "label": "Board SDK for STM32F769I-Discovery", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + }, + "freeRTOS": { + "envVar": "STM32F7_FREERTOS_DIR", + "label": "FreeRTOS SDK for STM32F769I-Discovery", + "cmakeVar": "FREERTOS_DIR", + "defaultValue": "%{QUL_BOARD_SDK_DIR}/Middlewares/Third_Party/FreeRTOS/Source", + "validation": "tasks.c", + "type": "path", + "setting": "FreeRTOSSourcePackage_STM32F7", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/armgcc_stm32f769i_freertos_json.h b/src/plugins/mcusupport/test/armgcc_stm32f769i_freertos_json.h deleted file mode 100644 index 6a64bca784a..00000000000 --- a/src/plugins/mcusupport/test/armgcc_stm32f769i_freertos_json.h +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright (C) 2022 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 - -#pragma once - -constexpr auto armgcc_stm32f769i_freertos_json = R"({ - "qulVersion": "2.3.0", - "compatVersion": "1", - "platform": { - "id": "STM32F769I-DISCOVERY-FREERTOS", - "vendor": "ST", - "colorDepths": [ - 32 - ], - "pathEntries": [ - { - "id": "STM32CubeProgrammer_PATH", - "label": "STM32CubeProgrammer", - "type": "path", - "defaultValue": { - "windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/", - "unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/" - }, - "optional": false - } - ], - "environmentEntries": [], - "cmakeEntries": [ - { - "id": "Qul_DIR", - "label": "Qt for MCUs SDK", - "type": "path", - "setting": "QtForMCUsSdk", - "cmakeVar": "Qul_ROOT", - "optional": false - } - ] - }, - "toolchain": { - "id": "armgcc", - "versions": [ - "9.3.1", - "10.3.1" - ], - "compiler": { - "id": "ARMGCC_DIR", - "label": "GNU Arm Embedded Toolchain", - "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", - "envVar": "ARMGCC_DIR", - "setting": "GNUArmEmbeddedToolchain", - "type": "path", - "optional": false, - "versionDetection" : { - "filePattern": "bin/arm-none-eabi-g++", - "executableArgs": "--version", - "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" - } - }, - "file": { - "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", - "label": "CMake Toolchain File", - "cmakeVar": "CMAKE_TOOLCHAIN_FILE", - "type": "file", - "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", - "visible": false, - "optional": false - } - }, - "boardSdk": { - "envVar": "STM32Cube_FW_F7_SDK_PATH", - "setting": "STM32Cube_FW_F7_SDK_PATH", - "versions": [ "1.16.0" ], - "versionDetection" : { - "filePattern": "package.xml", - "xmlElement": "PackDescription", - "xmlAttribute": "Release", - "regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b" - }, - "label": "Board SDK for STM32F769I-Discovery", - "cmakeVar": "QUL_BOARD_SDK_DIR", - "type": "path", - "optional": false - }, - "freeRTOS": { - "envVar": "STM32F7_FREERTOS_DIR", - "label": "FreeRTOS SDK for STM32F769I-Discovery", - "cmakeVar": "FREERTOS_DIR", - "defaultValue": "%{QUL_BOARD_SDK_DIR}/Middlewares/Third_Party/FreeRTOS/Source", - "validation": "tasks.c", - "type": "path", - "setting": "FreeRTOSSourcePackage_STM32F7", - "optional": false - } -})"; diff --git a/src/plugins/mcusupport/test/armgcc_stm32h750b_discovery_baremetal_json.h b/src/plugins/mcusupport/test/armgcc_stm32h750b_discovery_baremetal_json.h new file mode 100644 index 00000000000..78c09d5cadf --- /dev/null +++ b/src/plugins/mcusupport/test/armgcc_stm32h750b_discovery_baremetal_json.h @@ -0,0 +1,77 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto armgcc_stm32h750b_discovery_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "STM32H750B-DISCOVERY-BAREMETAL", + "vendor": "ST", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "id": "STM32CubeProgrammer_PATH", + "label": "STM32CubeProgrammer", + "type": "path", + "setting": "Stm32CubeProgrammer", + "defaultValue": { + "windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/", + "unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "armgcc", + "versions": [ + "10.3.1" + ], + "compiler": { + "id": "ARMGCC_DIR", + "label": "GNU Arm Embedded Toolchain", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "envVar": "ARMGCC_DIR", + "setting": "GNUArmEmbeddedToolchain", + "type": "path", + "optional": false, + "versionDetection": { + "filePattern": "bin/arm-none-eabi-g++", + "executableArgs": "--version", + "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" + } + }, + "file": { + "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "envVar": "STM32Cube_FW_H7_SDK_PATH", + "setting": "STM32Cube_FW_H7_SDK_PATH", + "versions": [ + "1.10.0" + ], + "versionDetection": { + "filePattern": "package.xml", + "xmlElement": "PackDescription", + "xmlAttribute": "Release", + "regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b" + }, + "id": "ST_SDK_DIR", + "label": "Board SDK for STM32H750B-Discovery", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/armgcc_stm32h750b_metal_json.h b/src/plugins/mcusupport/test/armgcc_stm32h750b_metal_json.h deleted file mode 100644 index 3dec08a2bd8..00000000000 --- a/src/plugins/mcusupport/test/armgcc_stm32h750b_metal_json.h +++ /dev/null @@ -1,86 +0,0 @@ -// Copyright (C) 2022 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 - -#pragma once - -constexpr auto armgcc_stm32h750b_metal_json = R"({ - "qulVersion": "2.3.0", - "compatVersion": "1", - "platform": { - "id": "STM32H750B-DISCOVERY-BAREMETAL", - "vendor": "ST", - "colorDepths": [ - 32 - ], - "pathEntries": [ - { - "id": "STM32CubeProgrammer_PATH", - "label": "STM32CubeProgrammer", - "type": "path", - "defaultValue": { - "windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/", - "unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/" - }, - "optional": false - } - ], - "environmentEntries": [], - "cmakeEntries": [ - { - "id": "Qul_DIR", - "label": "Qt for MCUs SDK", - "type": "path", - "setting": "QtForMCUsSdk", - "cmakeVar": "Qul_ROOT", - "optional": false - } - ] - }, - "toolchain": { - "id": "armgcc", - "versions": [ - "9.3.1" - ], - "compiler": { - "id": "ARMGCC_DIR", - "label": "GNU Arm Embedded Toolchain", - "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", - "envVar": "ARMGCC_DIR", - "setting": "GNUArmEmbeddedToolchain", - "type": "path", - "optional": false, - "versionDetection" : { - "filePattern": "bin/arm-none-eabi-g++", - "executableArgs": "--version", - "regex": "\\bv(\\d+\\.\\d+\\.\\d+)\\b" - } - }, - "file" : { - "id": "ARMGCC_CMAKE_TOOLCHAIN_FILE", - "label": "CMake Toolchain File", - "cmakeVar": "CMAKE_TOOLCHAIN_FILE", - "type": "file", - "defaultValue": "%{Qul_ROOT}//lib/cmake/Qul/toolchain/armgcc.cmake", - "visible": false, - "optional": false - } - }, - "boardSdk": { - "envVar": "STM32Cube_FW_H7_SDK_PATH", - "setting": "STM32Cube_FW_H7_SDK_PATH", - "versions": [ - "1.5.0" - ], - "versionDetection" : { - "filePattern": "package.xml", - "xmlElement": "PackDescription", - "xmlAttribute": "Release", - "regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b" - }, - "id": "ST_SDK_DIR", - "label": "Board SDK for STM32H750B-Discovery", - "cmakeVar": "QUL_BOARD_SDK_DIR", - "type": "path", - "optional": false - } -})"; diff --git a/src/plugins/mcusupport/test/errors_json.h b/src/plugins/mcusupport/test/errors_json.h new file mode 100644 index 00000000000..9ab54ed68a7 --- /dev/null +++ b/src/plugins/mcusupport/test/errors_json.h @@ -0,0 +1,122 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto errors_json = R"( +{ + "compatVersion": "1", + "qulVersion": "2.0.0", + "boardSdk": { + "cmakeEntries": [ + { + "id": "NXP_SDK_DIR", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "label": "This package has no label", + "optional": false, + "type": "path", + "versions": ["2.10.0"] + } + { + "id": "NXP_SDK_DIR", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "label": "", + "label": "This package has empty label", + "optional": false, + "type": "path", + "versions": ["2.10.0"] + } + ], + "envVar": "EVK_MIMXRT1064_SDK_PATH", + "versions": ["2.10.0"] + } +} +)"; + +constexpr auto unpaired_square_bracket_json = R"( +{ + "compatVersion": "1", + "qulVersion": "2.0.0", + "toolchain": { + "id": "greenhills", + "versions": [ + "2018.1.5" + ], + "compiler": { + "label": "Green Hills Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "setting": "GHSToolchain", + "label": "IAR ARM Compiler", + "type": "path", + "optional": false + }, + "file": { + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/ghs.cmake", + "visible": false, + "optional": false + } + ] + }, +} +)"; + +constexpr auto mulitple_toolchain_versions = R"( +{ + "compatVersion": "1", + "qulVersion": "2.0.0", + "platform": { + "id": "id", + "vendor": "ST", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "label": "Qt for MCUs SDK", + "type": "path", + "setting": "QtForMCUsSdk", + "cmakeVar": "Qul_ROOT", + "envVar": "Qul_DIR", + "optional": false, + "versionDetection": { + "filePattern": "bin/qmltocpp" + } + }, + { + "id": "STM32CubeProgrammer_PATH", + "label": "STM32CubeProgrammer", + "type": "path", + "setting": "Stm32CubeProgrammer", + "defaultValue": { + "windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/", + "unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "greenhills", + "versions": [ + "2018.1.5", + "123" + ], + "compiler": { + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "setting": "GHSToolchain", + "type": "path", + "optional": false + }, + "file": { + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/ghs.cmake", + "visible": false, + "optional": false + } + } +} +)"; diff --git a/src/plugins/mcusupport/test/gcc_desktop_json.h b/src/plugins/mcusupport/test/gcc_desktop_json.h index bebaa16d834..63c42cc37e8 100644 --- a/src/plugins/mcusupport/test/gcc_desktop_json.h +++ b/src/plugins/mcusupport/test/gcc_desktop_json.h @@ -3,43 +3,33 @@ #pragma once -constexpr auto gcc_desktop_json = R"({ - "qulVersion": "2.3.0", - "compatVersion": "1", - "platform": { - "id": "Qt", - "platformName": "Desktop", - "vendor": "Qt", - "colorDepths": [ - 32 - ], - "pathEntries": [ - ], - "environmentEntries": [ - ], - "cmakeEntries": [ - { - "envVar": "Qul_DIR", - "label": "Qt for MCUs SDK", - "type": "path", - "cmakeVar": "Qul_ROOT", - "optional": false - } - ] - }, - "toolchain": { - "id": "gcc", - "versions": [ - "9.4.0", - "10.3.1" - ], - "compiler": { - "defaultValue": "/usr", - "versionDetection": { - "filePattern": "bin/g++", - "executableArgs": "--version", - "regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b" - } +constexpr auto gcc_desktop_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "Qt", + "platformName": "Desktop", + "vendor": "Qt", + "colorDepths": [ + 32 + ] + }, + "toolchain": { + "id": "gcc", + "versions": [ + "9.4.0", + "10.3.1" + ], + "compiler": { + "label": "GNU Toolchain", + "defaultValue": "/usr", + "versionDetection": { + "executableArgs": "--version", + "filePattern": "bin/g++", + "regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b" + } + } } - } -})"; +} +)"; diff --git a/src/plugins/mcusupport/test/ghs_rh850_d1m1a_baremetal_json.h b/src/plugins/mcusupport/test/ghs_rh850_d1m1a_baremetal_json.h index 0669eba8a97..d44d672b0ea 100644 --- a/src/plugins/mcusupport/test/ghs_rh850_d1m1a_baremetal_json.h +++ b/src/plugins/mcusupport/test/ghs_rh850_d1m1a_baremetal_json.h @@ -3,63 +3,68 @@ #pragma once -constexpr auto ghs_rh850_d1m1a_baremetal_json = R"({ - "qulVersion": "2.1.5", - "compatVersion": "1", - "platform": { - "id": "RH850-D1M1A-BAREMETAL", - "vendor": "RENESAS", - "colorDepths": [ - 32 - ], - "pathEntries": [], - "environmentEntries": [], - "cmakeEntries": [ - { - "id": "Qul_DIR", - "description": "Qt for MCUs SDK", - "type": "path", - "cmakeVar": "Qul_ROOT", - "optional": false - } - ] - }, - "toolchain": { - "id": "greenhills", - "versions": [ - "2018.1.5" - ], - "compiler": { - "description": "Green Hills Compiler", - "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", - "setting": "GHSToolchain", - "label": "Green Hills Compiler", - "type": "path", - "optional": false +constexpr auto ghs_rh850_d1m1a_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "RH850-D1M1A-BAREMETAL", + "vendor": "RENESAS", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "id": "FlashProgrammer_path", + "setting": "FlashProgrammerPath", + "label": "Path to Renesas Flash Programmer", + "type": "path", + "cmakeVar": "RENESAS_FLASH_PROGRAMMER_PATH", + "defaultValue": { + "windows": "%{Env:PROGRAMSANDFILES}/Renesas Electronics/Programming Tools/Renesas Flash Programmer V3.09", + "unix": "%{Env:HOME}" + }, + "envVar": "RenesasFlashProgrammer_PATH", + "optional": true + } + ] }, - "file": { - "description": "CMake Toolchain File", - "cmakeVar": "CMAKE_TOOLCHAIN_FILE", - "type": "file", - "defaultValue": "/opt/qtformcu/2.2/lib/cmake/Qul/toolchain/ghs.cmake", - "visible": false, - "optional": false - } - }, - "boardSdk": { - "envVar": "RGL_DIR", - "setting": "RGL_DIR", - "versions": [ "2.0.0a" ], - "id": "RGL_DIR", - "description": "Renesas Graphics Library", - "cmakeVar": "QUL_BOARD_SDK_DIR", - "type": "path", - "defaultValue": "/Renesas_Electronics/D1x_RGL/rgl_ghs_D1Mx_obj_V.2.0.0a", - "versionDetection": { - "filePattern" : "rgl_*_obj_*", - "regex" : "\\d+\\.\\d+\\.\\w+", - "isFile" : false + "toolchain": { + "id": "greenhills", + "versions": [ + "2018.1.5" + ], + "compiler": { + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "setting": "GHSToolchain", + "label": "Green Hills Compiler", + "type": "path", + "optional": false + }, + "file": { + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/ghs.cmake", + "visible": false, + "optional": false + } }, - "optional": false - } -})"; + "boardSdk": { + "envVar": "RGL_DIR", + "setting": "RGL_DIR", + "versions": [ + "2.0.0a" + ], + "label": "Renesas Graphics Library", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "defaultValue": "/Renesas_Electronics/D1x_RGL/rgl_ghs_D1Mx_obj_V.2.0.0a", + "versionDetection": { + "filePattern": "rgl_*_obj_*", + "regex": "\\d+\\.\\d+\\.\\w+", + "isFile": false + }, + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/ghs_tviic2d4m_baremetal_json.h b/src/plugins/mcusupport/test/ghs_tviic2d4m_baremetal_json.h new file mode 100644 index 00000000000..a2c31c289a2 --- /dev/null +++ b/src/plugins/mcusupport/test/ghs_tviic2d4m_baremetal_json.h @@ -0,0 +1,59 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto ghs_tviic2d4m_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "TVIIC2D4M-BAREMETAL", + "vendor": "CYPRESS", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "id": "INFINEON_AUTO_FLASH_UTILITY_DIR", + "label": "Cypress Auto Flash Utility", + "type": "path", + "cmakeVar": "INFINEON_AUTO_FLASH_UTILITY_DIR", + "optional": false + } + ] + }, + "toolchain": { + "id": "arm-greenhills", + "versions": [ + "201954" + ], + "compiler": { + "id": "GHS_ARM_DIR", + "label": "Green Hills Compiler for ARM", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "optional": false + }, + "file": { + "id": "GHS_ARM_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/ghs-arm.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "envVar": "TVII_GRAPHICS_DRIVER_DIR", + "versions": [ + "V1e.1.0" + ], + "id": "TVII_GRAPHICS_DRIVER_DIR", + "label": "Graphics Driver for Traveo II Cluster Series", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/ghs_tviic2d6m_baremetal_json.h b/src/plugins/mcusupport/test/ghs_tviic2d6m_baremetal_json.h new file mode 100644 index 00000000000..d10a28097a7 --- /dev/null +++ b/src/plugins/mcusupport/test/ghs_tviic2d6m_baremetal_json.h @@ -0,0 +1,59 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto ghs_tviic2d6m_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "TVIIC2D6M-BAREMETAL", + "vendor": "CYPRESS", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "id": "INFINEON_AUTO_FLASH_UTILITY_DIR", + "label": "Cypress Auto Flash Utility", + "type": "path", + "cmakeVar": "INFINEON_AUTO_FLASH_UTILITY_DIR", + "optional": false + } + ] + }, + "toolchain": { + "id": "arm-greenhills", + "versions": [ + "201954" + ], + "compiler": { + "id": "GHS_ARM_DIR", + "label": "Green Hills Compiler for ARM", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "optional": false + }, + "file": { + "id": "GHS_ARM_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/ghs-arm.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "envVar": "TVII_GRAPHICS_DRIVER_DIR", + "versions": [ + "V1e.1.0" + ], + "id": "TVII_GRAPHICS_DRIVER_DIR", + "label": "Graphics Driver for Traveo II Cluster Series", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/iar_ek_ra6m3g_baremetal_json.h b/src/plugins/mcusupport/test/iar_ek_ra6m3g_baremetal_json.h new file mode 100644 index 00000000000..03b9626dd50 --- /dev/null +++ b/src/plugins/mcusupport/test/iar_ek_ra6m3g_baremetal_json.h @@ -0,0 +1,65 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto iar_ek_ra6m3g_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "TVIIC2D6M-BAREMETAL", + "vendor": "CYPRESS", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "id": "INFINEON_AUTO_FLASH_UTILITY_DIR", + "label": "Cypress Auto Flash Utility", + "type": "path", + "cmakeVar": "INFINEON_AUTO_FLASH_UTILITY_DIR", + "optional": false + } + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "8.22.3" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "envVar": "TVII_GRAPHICS_DRIVER_DIR", + "versions": [ + "V1e.1.0" + ], + "id": "TVII_GRAPHICS_DRIVER_DIR", + "label": "Graphics Driver for Traveo II Cluster Series", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/iar_ek_ra6m3g_freertos_json.h b/src/plugins/mcusupport/test/iar_ek_ra6m3g_freertos_json.h new file mode 100644 index 00000000000..ef9e0d9b348 --- /dev/null +++ b/src/plugins/mcusupport/test/iar_ek_ra6m3g_freertos_json.h @@ -0,0 +1,80 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto iar_ek_ra6m3g_freertos_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "EK-RA6M3G-FREERTOS", + "vendor": "RENESAS", + "colorDepths": [ + 16 + ], + "cmakeEntries": [ + { + "cmakeVar": "JLINK_PATH", + "setting": "JLinkPath", + "envVar": "JLINK_PATH", + "label": "Path to SEGGER J-Link", + "type": "path", + "defaultValue": { + "windows": "%{Env:PROGRAMSANDFILES}/SEGGER/JLink", + "unix": "/opt/SEGGER/JLink" + }, + "optional": true + } + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "9.20.4" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "cmakeVar": "QUL_BOARD_SDK_DIR", + "envVar": "EK_RA6M3G_FSP_PATH", + "id": "EK_RA6M3G_FSP_PATH", + "label": "Flexible Software Package for Renesas RA MCU Family", + "optional": false, + "type": "path", + "versions": [ + "3.8.0" + ] + }, + "freeRTOS": { + "envVar": "EK_RA6M3G_FREERTOS_DIR", + "id": "EK_RA6M3G_FREERTOS_DIR", + "label": "FreeRTOS SDK for EK-RA6M3G", + "cmakeVar": "FREERTOS_DIR", + "defaultValue": "%{Qul_ROOT}/platform/boards/renesas/ek-ra6m3g-common/3rdparty/freertos", + "validation": "tasks.c", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/iar_example_baremetal_json.h b/src/plugins/mcusupport/test/iar_example_baremetal_json.h new file mode 100644 index 00000000000..ca73ea8b422 --- /dev/null +++ b/src/plugins/mcusupport/test/iar_example_baremetal_json.h @@ -0,0 +1,55 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto iar_example_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "EXAMPLE-BAREMETAL", + "vendor": "Vendor Name", + "colorDepths": [ + 16 + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "9.20.4" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "versions": [ + "1.16.0" + ], + "id": "EXAMPLE_SDK_DIR", + "label": "Board SDK", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/iar_mimxrt1050_evk_baremetal_json.h b/src/plugins/mcusupport/test/iar_mimxrt1050_evk_baremetal_json.h new file mode 100644 index 00000000000..42092c4edc3 --- /dev/null +++ b/src/plugins/mcusupport/test/iar_mimxrt1050_evk_baremetal_json.h @@ -0,0 +1,79 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto iar_mimxrt1050_evk_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "MIMXRT1050-EVK-BAREMETAL", + "vendor": "NXP", + "colorDepths": [ + 16 + ], + "cmakeEntries": [ + { + "label": "MCUXpresso IDE", + "type": "path", + "cmakeVar": "MCUXPRESSO_IDE_PATH", + "envVar": "MCUXpressoIDE_PATH", + "setting": "MCUXpressoIDE", + "defaultValue": { + "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", + "unix": "/usr/local/mcuxpressoide/" + }, + "versionDetection": { + "filePattern": "ide/binaries/crt_emu_cm_redlink" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "9.20.4" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "cmakeVar": "QUL_BOARD_SDK_DIR", + "envVar": "EVKB_IMXRT1050_SDK_PATH", + "label": "Board SDK for MIMXRT1050-EVK", + "optional": false, + "setting": "EVKB_IMXRT1050_SDK_PATH", + "type": "path", + "versionDetection": { + "filePattern": "*_manifest_*.xml", + "regex": ".*", + "xmlAttribute": "version", + "xmlElement": "ksdk" + }, + "versions": [ + "2.12.0" + ] + } +} +)"; diff --git a/src/plugins/mcusupport/test/iar_mimxrt1050_evk_freertos_json.h b/src/plugins/mcusupport/test/iar_mimxrt1050_evk_freertos_json.h new file mode 100644 index 00000000000..d069b90759a --- /dev/null +++ b/src/plugins/mcusupport/test/iar_mimxrt1050_evk_freertos_json.h @@ -0,0 +1,89 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto iar_mimxrt1050_evk_freertos_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "MIMXRT1050-EVK-FREERTOS", + "vendor": "NXP", + "colorDepths": [ + 16 + ], + "cmakeEntries": [ + { + "label": "MCUXpresso IDE", + "type": "path", + "cmakeVar": "MCUXPRESSO_IDE_PATH", + "envVar": "MCUXpressoIDE_PATH", + "setting": "MCUXpressoIDE", + "defaultValue": { + "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", + "unix": "/usr/local/mcuxpressoide/" + }, + "versionDetection": { + "filePattern": "ide/binaries/crt_emu_cm_redlink" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "9.20.4" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "cmakeVar": "QUL_BOARD_SDK_DIR", + "envVar": "EVKB_IMXRT1050_SDK_PATH", + "label": "Board SDK for MIMXRT1050-EVK", + "optional": false, + "setting": "EVKB_IMXRT1050_SDK_PATH", + "type": "path", + "versionDetection": { + "filePattern": "*_manifest_*.xml", + "regex": ".*", + "xmlAttribute": "version", + "xmlElement": "ksdk" + }, + "versions": [ + "2.12.0" + ] + }, + "freeRTOS": { + "cmakeVar": "FREERTOS_DIR", + "defaultValue": "%{QUL_BOARD_SDK_DIR}/rtos/freertos/freertos_kernel", + "validation": "tasks.c", + "envVar": "IMXRT1050_FREERTOS_DIR", + "label": "FreeRTOS SDK for MIMXRT1050-EVK", + "optional": false, + "setting": "FreeRTOSSourcePackage_IMXRT1050", + "type": "path" + } +} +)"; diff --git a/src/plugins/mcusupport/test/iar_mimxrt1060_evk_baremetal_json.h b/src/plugins/mcusupport/test/iar_mimxrt1060_evk_baremetal_json.h new file mode 100644 index 00000000000..4131601d2a5 --- /dev/null +++ b/src/plugins/mcusupport/test/iar_mimxrt1060_evk_baremetal_json.h @@ -0,0 +1,79 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto iar_mimxrt1060_evk_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "MIMXRT1060-EVK-BAREMETAL", + "vendor": "NXP", + "colorDepths": [ + 16 + ], + "cmakeEntries": [ + { + "label": "MCUXpresso IDE", + "type": "path", + "cmakeVar": "MCUXPRESSO_IDE_PATH", + "envVar": "MCUXpressoIDE_PATH", + "setting": "MCUXpressoIDE", + "defaultValue": { + "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", + "unix": "/usr/local/mcuxpressoide/" + }, + "versionDetection": { + "filePattern": "ide/binaries/crt_emu_cm_redlink" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "9.20.4" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "cmakeVar": "QUL_BOARD_SDK_DIR", + "envVar": "EVK_MIMXRT1060_SDK_PATH", + "label": "Board SDK for MIMXRT1060-EVK", + "optional": false, + "setting": "EVK_MIMXRT1060_SDK_PATH", + "type": "path", + "versions": [ + "2.12.0" + ], + "versionDetection": { + "filePattern": "*_manifest_*.xml", + "regex": ".*", + "xmlAttribute": "version", + "xmlElement": "ksdk" + } + } +} +)"; diff --git a/src/plugins/mcusupport/test/iar_mimxrt1064_evk_baremetal_json.h b/src/plugins/mcusupport/test/iar_mimxrt1064_evk_baremetal_json.h new file mode 100644 index 00000000000..ec582712703 --- /dev/null +++ b/src/plugins/mcusupport/test/iar_mimxrt1064_evk_baremetal_json.h @@ -0,0 +1,79 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto iar_mimxrt1064_evk_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "MIMXRT1064-EVK-BAREMETAL", + "vendor": "NXP", + "colorDepths": [ + 16 + ], + "cmakeEntries": [ + { + "label": "MCUXpresso IDE", + "type": "path", + "cmakeVar": "MCUXPRESSO_IDE_PATH", + "envVar": "MCUXpressoIDE_PATH", + "setting": "MCUXpressoIDE", + "defaultValue": { + "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", + "unix": "/usr/local/mcuxpressoide/" + }, + "versionDetection": { + "filePattern": "ide/binaries/crt_emu_cm_redlink" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "9.20.4" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "cmakeVar": "QUL_BOARD_SDK_DIR", + "envVar": "EVK_MIMXRT1064_SDK_PATH", + "label": "Board SDK for MIMXRT1064-EVK", + "optional": false, + "setting": "EVK_MIMXRT1064_SDK_PATH", + "type": "path", + "versions": [ + "2.12.0" + ], + "versionDetection": { + "filePattern": "*_manifest_*.xml", + "regex": ".*", + "xmlAttribute": "version", + "xmlElement": "ksdk" + } + } +} +)"; diff --git a/src/plugins/mcusupport/test/iar_nxp_1064_json.h b/src/plugins/mcusupport/test/iar_mimxrt1064_evk_freertos_json.h similarity index 54% rename from src/plugins/mcusupport/test/iar_nxp_1064_json.h rename to src/plugins/mcusupport/test/iar_mimxrt1064_evk_freertos_json.h index 2c34bc2a544..83255e94c75 100644 --- a/src/plugins/mcusupport/test/iar_nxp_1064_json.h +++ b/src/plugins/mcusupport/test/iar_mimxrt1064_evk_freertos_json.h @@ -3,79 +3,87 @@ #pragma once -constexpr auto iar_nxp_1064_json = R"({ +constexpr auto iar_mimxrt1064_evk_freertos_json = R"( +{ + "qulVersion": "2.3.0", "compatVersion": "1", - "qulVersion": "2.0.0", + "platform": { + "id": "MIMXRT1064-EVK-FREERTOS", + "vendor": "NXP", + "colorDepths": [ + 16 + ], + "cmakeEntries": [ + { + "label": "MCUXpresso IDE", + "type": "path", + "cmakeVar": "MCUXPRESSO_IDE_PATH", + "envVar": "MCUXpressoIDE_PATH", + "setting": "MCUXpressoIDE", + "defaultValue": { + "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", + "unix": "/usr/local/mcuxpressoide/" + }, + "versionDetection": { + "filePattern": "ide/binaries/crt_emu_cm_redlink" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "9.20.4" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, "boardSdk": { "cmakeVar": "QUL_BOARD_SDK_DIR", "envVar": "EVK_MIMXRT1064_SDK_PATH", - "id": "NXP_SDK_DIR", "label": "Board SDK for MIMXRT1064-EVK", "optional": false, "setting": "EVK_MIMXRT1064_SDK_PATH", "type": "path", + "versions": [ + "2.12.0" + ], "versionDetection": { "filePattern": "*_manifest_*.xml", "regex": ".*", "xmlAttribute": "version", "xmlElement": "ksdk" - }, - "versions": ["2.11.0"] + } }, "freeRTOS": { "cmakeVar": "FREERTOS_DIR", "defaultValue": "%{QUL_BOARD_SDK_DIR}/rtos/freertos/freertos_kernel", "validation": "tasks.c", "envVar": "IMXRT1064_FREERTOS_DIR", - "id": "NXP_FREERTOS_DIR", "label": "FreeRTOS SDK for MIMXRT1064-EVK", "optional": false, "setting": "FreeRTOSSourcePackage_IMXRT1064", "type": "path" - }, - "platform": { - "cmakeEntries": [ - { - "cmakeVar": "Qul_ROOT", - "label": "Qt for MCUs SDK", - "id": "Qul_DIR", - "optional": false, - "type": "path" - }, - { - "cmakeVar": "MCUXPRESSO_IDE_PATH", - "defaultValue": { - "unix": "/usr/local/mcuxpressoide/", - "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*" - } - } - ], - "colorDepths": [16], - "environmentEntries": [], - "id": "MIMXRT1064-EVK-FREERTOS", - "pathEntries": [], - "vendor": "NXP" - }, - "toolchain": { - "id": "iar", - "versions": ["8.50.9"], - "compiler": { - "id": "IAR_DIR", - "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", - "setting": "IARToolchain", - "envVar": "IAR_ARM_COMPILER_DIR", - "label": "IAR ARM Compiler", - "optional": false, - "type": "path" - }, - "file": { - "id": "IAR_CMAKE_TOOLCHAIN_FILE", - "label": "CMake Toolchain File", - "cmakeVar": "CMAKE_TOOLCHAIN_FILE", - "type": "file", - "defaultValue": "/opt/qtformcu/2.2//lib/cmake/Qul/toolchain/iar.cmake", - "visible": false, - "optional": false - } } -})"; +} +)"; diff --git a/src/plugins/mcusupport/test/iar_mimxrt1170_evk_freertos_json.h b/src/plugins/mcusupport/test/iar_mimxrt1170_evk_freertos_json.h new file mode 100644 index 00000000000..51c9e21a805 --- /dev/null +++ b/src/plugins/mcusupport/test/iar_mimxrt1170_evk_freertos_json.h @@ -0,0 +1,87 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto iar_mimxrt1170_evk_freertos_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "MIMXRT1170-EVK-FREERTOS", + "vendor": "NXP", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "label": "MCUXpresso IDE", + "type": "path", + "cmakeVar": "MCUXPRESSO_IDE_PATH", + "envVar": "MCUXpressoIDE_PATH", + "setting": "MCUXpressoIDE", + "defaultValue": { + "windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*", + "unix": "/usr/local/mcuxpressoide/" + }, + "versionDetection": { + "filePattern": "ide/binaries/crt_emu_cm_redlink" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "9.20.4" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "cmakeVar": "QUL_BOARD_SDK_DIR", + "envVar": "EVK_MIMXRT1170_SDK_PATH", + "versions": [ + "2.12.0" + ], + "label": "Board SDK for MIMXRT1170-EVK", + "type": "path", + "setting": "EVK_MIMXRT1170_SDK_PATH", + "versionDetection": { + "filePattern": "*_manifest_*.xml", + "regex": ".*", + "xmlAttribute": "version", + "xmlElement": "ksdk" + } + }, + "freeRTOS": { + "cmakeVar": "FREERTOS_DIR", + "envVar": "EVK_MIMXRT1170_FREERTOS_PATH", + "label": "FreeRTOS SDK for MIMXRT1170-EVK", + "defaultValue": "%{QUL_BOARD_SDK_DIR}/rtos/freertos/freertos_kernel", + "validation": "tasks.c", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/iar_stm32f469i_discovery_baremetal_json.h b/src/plugins/mcusupport/test/iar_stm32f469i_discovery_baremetal_json.h new file mode 100644 index 00000000000..af002fa7fa3 --- /dev/null +++ b/src/plugins/mcusupport/test/iar_stm32f469i_discovery_baremetal_json.h @@ -0,0 +1,75 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto iar_stm32f469i_discovery_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "STM32F469I-DISCOVERY-BAREMETAL", + "vendor": "ST", + "colorDepths": [ + 24 + ], + "cmakeEntries": [ + { + "id": "STM32CubeProgrammer_PATH", + "label": "STM32CubeProgrammer", + "type": "path", + "defaultValue": { + "windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/", + "unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "9.20.4" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "envVar": "STM32Cube_FW_F4_SDK_PATH", + "setting": "STM32Cube_FW_F4_SDK_PATH", + "versions": [ + "1.27.0" + ], + "versionDetection": { + "filePattern": "package.xml", + "xmlElement": "PackDescription", + "xmlAttribute": "Release", + "regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b" + }, + "id": "ST_SDK_DIR", + "label": "Board SDK for STM32F469I-Discovery", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/iar_stm32f469i_metal_json.h b/src/plugins/mcusupport/test/iar_stm32f469i_metal_json.h deleted file mode 100644 index fdf49123284..00000000000 --- a/src/plugins/mcusupport/test/iar_stm32f469i_metal_json.h +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright (C) 2022 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 - -#pragma once - -constexpr auto iar_stm32f469i_metal_json = R"({ - "qulVersion": "@CMAKE_PROJECT_VERSION@", - "compatVersion": "@COMPATIBILITY_VERSION@", - "platform": { - "id": "STM32F469I-DISCOVERY-BAREMETAL", - "vendor": "ST", - "colorDepths": [ - 24 - ], - "pathEntries": [ - { - "id": "STM32CubeProgrammer_PATH", - "label": "STM32CubeProgrammer", - "type": "path", - "defaultValue": { - "windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/", - "unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/" - }, - "optional": false - } - ], - "environmentEntries": [], - "cmakeEntries": [ - { - "id": "Qul_DIR", - "label": "Qt for MCUs SDK", - "type": "path", - "cmakeVar": "Qul_ROOT", - "optional": false - } - ] - }, - "toolchain": { - "id": "iar", - "versions": [ - "8.50.9" - ], - "compiler": { - "id": "IARToolchain", - "setting": "IARToolchain", - "envVar": "IAR_ARM_COMPILER_DIR", - "label": "IAR ARM Compiler", - "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", - "type": "path", - "versionDetection" : { - "filePattern": "bin/iccarm", - "executableArgs": "--version", - "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" - } - }, - "file": { - "id": "IAR_CMAKE_TOOLCHAIN_FILE", - "label": "CMake Toolchain File", - "cmakeVar": "CMAKE_TOOLCHAIN_FILE", - "type": "file", - "defaultValue": "/opt/qtformcu/2.2//lib/cmake/Qul/toolchain/iar.cmake", - "visible": false, - "optional": false - } - }, - "boardSdk": { - "envVar": "STM32Cube_FW_F4_SDK_PATH", - "setting": "STM32Cube_FW_F4_SDK_PATH", - "versions": [ "1.25.0" ], - "versionDetection" : { - "filePattern": "package.xml", - "xmlElement": "PackDescription", - "xmlAttribute": "Release", - "regex": "\b(\d+\.\d+\.\d+)\b" - }, - "id": "ST_SDK_DIR", - "label": "Board SDK for STM32F469I-Discovery", - "cmakeVar": "QUL_BOARD_SDK_DIR", - "type": "path", - "optional": false - } -})"; diff --git a/src/plugins/mcusupport/test/iar_stm32f769i_discovery_baremetal_json.h b/src/plugins/mcusupport/test/iar_stm32f769i_discovery_baremetal_json.h new file mode 100644 index 00000000000..bb749ae5e39 --- /dev/null +++ b/src/plugins/mcusupport/test/iar_stm32f769i_discovery_baremetal_json.h @@ -0,0 +1,75 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto iar_stm32f769i_discovery_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "STM32F769I-DISCOVERY-BAREMETAL", + "vendor": "ST", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "id": "STM32CubeProgrammer_PATH", + "label": "STM32CubeProgrammer", + "type": "path", + "setting": "Stm32CubeProgrammer", + "defaultValue": { + "windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/", + "unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "9.20.4" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "envVar": "STM32Cube_FW_F7_SDK_PATH", + "setting": "STM32Cube_FW_F7_SDK_PATH", + "versions": [ + "1.17.0" + ], + "versionDetection": { + "filePattern": "package.xml", + "xmlElement": "PackDescription", + "xmlAttribute": "Release", + "regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b" + }, + "label": "Board SDK for STM32F769I-Discovery", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/iar_stm32f769i_discovery_freertos_json.h b/src/plugins/mcusupport/test/iar_stm32f769i_discovery_freertos_json.h new file mode 100644 index 00000000000..4200c61611d --- /dev/null +++ b/src/plugins/mcusupport/test/iar_stm32f769i_discovery_freertos_json.h @@ -0,0 +1,85 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto iar_stm32f769i_discovery_freertos_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "STM32F769I-DISCOVERY-FREERTOS", + "vendor": "ST", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "id": "STM32CubeProgrammer_PATH", + "label": "STM32CubeProgrammer", + "type": "path", + "setting": "Stm32CubeProgrammer", + "defaultValue": { + "windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/", + "unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "9.20.4" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "envVar": "STM32Cube_FW_F7_SDK_PATH", + "setting": "STM32Cube_FW_F7_SDK_PATH", + "versions": [ + "1.17.0" + ], + "versionDetection": { + "filePattern": "package.xml", + "xmlElement": "PackDescription", + "xmlAttribute": "Release", + "regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b" + }, + "label": "Board SDK for STM32F769I-Discovery", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + }, + "freeRTOS": { + "envVar": "STM32F7_FREERTOS_DIR", + "label": "FreeRTOS SDK for STM32F769I-Discovery", + "cmakeVar": "FREERTOS_DIR", + "defaultValue": "%{QUL_BOARD_SDK_DIR}/Middlewares/Third_Party/FreeRTOS/Source", + "validation": "tasks.c", + "type": "path", + "setting": "FreeRTOSSourcePackage_STM32F7", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/iar_stm32h750b_discovery_baremetal_json.h b/src/plugins/mcusupport/test/iar_stm32h750b_discovery_baremetal_json.h new file mode 100644 index 00000000000..a272a3a4800 --- /dev/null +++ b/src/plugins/mcusupport/test/iar_stm32h750b_discovery_baremetal_json.h @@ -0,0 +1,76 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto iar_stm32h750b_discovery_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "STM32H750B-DISCOVERY-BAREMETAL", + "vendor": "ST", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "id": "STM32CubeProgrammer_PATH", + "label": "STM32CubeProgrammer", + "type": "path", + "setting": "Stm32CubeProgrammer", + "defaultValue": { + "windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/", + "unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/" + }, + "optional": false + } + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "9.20.4" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "envVar": "STM32Cube_FW_H7_SDK_PATH", + "setting": "STM32Cube_FW_H7_SDK_PATH", + "versions": [ + "1.10.0" + ], + "versionDetection": { + "filePattern": "package.xml", + "xmlElement": "PackDescription", + "xmlAttribute": "Release", + "regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b" + }, + "id": "ST_SDK_DIR", + "label": "Board SDK for STM32H750B-Discovery", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/iar_tviic2d6m_baremetal_json.h b/src/plugins/mcusupport/test/iar_tviic2d6m_baremetal_json.h new file mode 100644 index 00000000000..78520e48d24 --- /dev/null +++ b/src/plugins/mcusupport/test/iar_tviic2d6m_baremetal_json.h @@ -0,0 +1,65 @@ +// Copyright (C) 2022 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 + +#pragma once + +constexpr auto iar_tviic2d6m_baremetal_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "TVIIC2D6M-BAREMETAL", + "vendor": "CYPRESS", + "colorDepths": [ + 32 + ], + "cmakeEntries": [ + { + "id": "INFINEON_AUTO_FLASH_UTILITY_DIR", + "label": "Cypress Auto Flash Utility", + "type": "path", + "cmakeVar": "INFINEON_AUTO_FLASH_UTILITY_DIR", + "optional": false + } + ] + }, + "toolchain": { + "id": "iar", + "versions": [ + "8.22.3" + ], + "compiler": { + "id": "IARToolchain", + "setting": "IARToolchain", + "envVar": "IAR_ARM_COMPILER_DIR", + "label": "IAR ARM Compiler", + "cmakeVar": "QUL_TARGET_TOOLCHAIN_DIR", + "type": "path", + "versionDetection": { + "filePattern": "bin/iccarm", + "executableArgs": "--version", + "regex": "\\bV(\\d+\\.\\d+\\.\\d+)\\.\\d+\\b" + } + }, + "file": { + "id": "IAR_CMAKE_TOOLCHAIN_FILE", + "cmakeVar": "CMAKE_TOOLCHAIN_FILE", + "type": "file", + "defaultValue": "%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake", + "visible": false, + "optional": false + } + }, + "boardSdk": { + "envVar": "TVII_GRAPHICS_DRIVER_DIR", + "versions": [ + "V1e.1.0" + ], + "id": "TVII_GRAPHICS_DRIVER_DIR", + "label": "Graphics Driver for Traveo II Cluster Series", + "cmakeVar": "QUL_BOARD_SDK_DIR", + "type": "path", + "optional": false + } +} +)"; diff --git a/src/plugins/mcusupport/test/msvc_desktop_json.h b/src/plugins/mcusupport/test/msvc_desktop_json.h index e8d5c55cb36..5f5b22e3e85 100644 --- a/src/plugins/mcusupport/test/msvc_desktop_json.h +++ b/src/plugins/mcusupport/test/msvc_desktop_json.h @@ -3,43 +3,41 @@ #pragma once -constexpr auto msvc_desktop_json = R"({ - "qulVersion": "@CMAKE_PROJECT_VERSION@", - "compatVersion": "@COMPATIBILITY_VERSION@", - "platform": { - "id": "Qt", - "platformName": "Desktop", - "vendor": "Qt", - "colorDepths": [ - 32 - ], - "pathEntries": [ - ], - "environmentEntries": [ - ], - "cmakeEntries": [ - { - "envVar": "Qul_DIR", - "label": "Qt for MCUs SDK", - "type": "path", - "cmakeVar": "Qul_ROOT", - "optional": false - } - ] - }, - "toolchain": { - "id": "msvc", - "versions": [ - "19.20","19.21","19.22","19.23","19.24", - "19.25","19.26","19.27","19.28","19.29" - ], - "compiler": { - "defaultValue": "%{Env:MSVC_COMPILER_DIR}", - "versionDetection" : { - "filePattern": "cl.exe", - "executableArgs": "--version", - "regex": "\\b(\\d+\\.\\d+)\\.\\d+\\b" +constexpr auto msvc_desktop_json = R"( +{ + "qulVersion": "2.3.0", + "compatVersion": "1", + "platform": { + "id": "Qt", + "platformName": "Desktop", + "vendor": "Qt", + "colorDepths": [ + 32 + ] + }, + "toolchain": { + "id": "msvc", + "versions": [ + "19.20", + "19.21", + "19.22", + "19.23", + "19.24", + "19.25", + "19.26", + "19.27", + "19.28", + "19.29" + ], + "compiler": { + "label": "MSVC Toolchain", + "defaultValue": "%{Env:MSVC_COMPILER_DIR}", + "versionDetection": { + "filePattern": "cl.exe", + "executableArgs": "--version", + "regex": "\\b(\\d+\\.\\d+)\\.\\d+\\b" + } } } - } -})"; +} +)"; diff --git a/src/plugins/mcusupport/test/unittest.cpp b/src/plugins/mcusupport/test/unittest.cpp index e07a3077224..f9cd16179f6 100644 --- a/src/plugins/mcusupport/test/unittest.cpp +++ b/src/plugins/mcusupport/test/unittest.cpp @@ -3,15 +3,18 @@ #include "unittest.h" -#include "armgcc_nxp_1050_json.h" -#include "armgcc_nxp_1064_json.h" -#include "armgcc_nxp_mimxrt1170_evk_freertos_json.h" -#include "armgcc_stm32f769i_freertos_json.h" -#include "armgcc_stm32h750b_metal_json.h" +#include "armgcc_ek_ra6m3g_baremetal_json.h" +#include "armgcc_mimxrt1050_evk_freertos_json.h" +#include "armgcc_mimxrt1064_evk_freertos_json.h" +#include "armgcc_mimxrt1170_evk_freertos_json.h" +#include "armgcc_stm32f769i_discovery_freertos_json.h" +#include "armgcc_stm32h750b_discovery_baremetal_json.h" +#include "errors_json.h" #include "gcc_desktop_json.h" #include "ghs_rh850_d1m1a_baremetal_json.h" -#include "iar_nxp_1064_json.h" -#include "iar_stm32f469i_metal_json.h" +#include "iar_mimxrt1064_evk_freertos_json.h" +#include "iar_mimxrt1170_evk_freertos_json.h" +#include "iar_stm32f469i_discovery_baremetal_json.h" #include "msvc_desktop_json.h" #include "mcuhelpers.h" @@ -51,6 +54,7 @@ namespace McuSupport::Internal::Test { using namespace Utils; + using Legacy::Constants::BOARD_SDK_CMAKE_VAR; using Legacy::Constants::QT_FOR_MCUS_SDK_PACKAGE_VALIDATION_PATH; using Legacy::Constants::QUL_CMAKE_VAR; @@ -62,7 +66,6 @@ using Legacy::Constants::TOOLCHAIN_FILE_CMAKE_VARIABLE; using CMakeProjectManager::CMakeConfigItem; using CMakeProjectManager::CMakeConfigurationKitAspect; -using ProjectExplorer::EnvironmentKitAspect; using ProjectExplorer::Kit; using ProjectExplorer::KitManager; using ProjectExplorer::ToolChain; @@ -80,15 +83,11 @@ const char armGccDirectorySetting[]{"GNUArmEmbeddedToolchain"}; const char armGccEnvVar[]{"ARMGCC_DIR"}; const char armGccLabel[]{"GNU Arm Embedded Toolchain"}; const char armGccSuffix[]{"bin/arm-none-eabi-g++"}; -const char armGccToolchainFilePath[]{"/opt/toolchain/armgcc.cmake"}; -const char armGccToolchainFileDefaultPath[]{ - "/opt/qtformcu/2.2/lib/cmake/Qul/toolchain/armgcc.cmake"}; -const char armGccToolchainFilePathWithVariable[]{ - "%{Qul_ROOT}/lib/cmake/Qul/toolchain/armgcc.cmake"}; -const char armGccVersion[]{"9.3.1"}; -const char armGccNewVersion[]{"10.3.1"}; +const char armGccToolchainFilePath[]{"/opt/qtformcu/2.2/lib/cmake/Qul/toolchain/armgcc.cmake"}; +const char armGccToolchainFileUnexpandedPath[]{"%{Qul_ROOT}/lib/cmake/Qul/toolchain/armgcc.cmake"}; +const char armGccVersion[]{"10.3.1"}; const char msvcVersion[]{"14.29"}; -const char boardSdkVersion[]{"2.11.0"}; +const char boardSdkVersion[]{"2.12.0"}; const QString boardSdkCmakeVar{Legacy::Constants::BOARD_SDK_CMAKE_VAR}; const char boardSdkDir[]{"/opt/Qul/2.3.0/boardDir/"}; const char cmakeToolchainLabel[]{"CMake Toolchain File"}; @@ -101,9 +100,8 @@ const char freeRtosDetectionPath[]{"tasks.c"}; const char freeRtosNxpPathSuffix[]{"rtos/freertos/freertos_kernel"}; const char freeRtosStmPathSuffix[]{"/Middlewares/Third_Party/FreeRTOS/Source"}; const char freeRtosSetting[]{"Freertos"}; -const char greenhillToolchainFilePath[]{"/opt/toolchain/ghs.cmake"}; -const char greenhillToolchainFileDefaultPath[]{ - "/opt/qtformcu/2.2/lib/cmake/Qul/toolchain/ghs.cmake"}; +const char greenhillToolchainFilePath[]{"/opt/qtformcu/2.2/lib/cmake/Qul/toolchain/ghs.cmake"}; +const char greenhillToolchainFileUnexpandedPath[]{"%{Qul_ROOT}/lib/cmake/Qul/toolchain/ghs.cmake"}; const char greenhillCompilerDir[]{"/abs/ghs"}; const char greenhillSetting[]{"GHSToolchain"}; const QStringList greenhillVersions{{"2018.1.5"}}; @@ -111,10 +109,10 @@ const char iarDir[]{"/opt/iar/compiler"}; const char iarEnvVar[]{"IAR_ARM_COMPILER_DIR"}; const char iarLabel[]{"IAR ARM Compiler"}; const char iarSetting[]{"IARToolchain"}; -const char iarToolchainFilePath[]{"/opt/toolchain/iar.cmake"}; -const char iarToolchainFileDefaultPath[]{"/opt/qtformcu/2.2/lib/cmake/Qul/toolchain/iar.cmake"}; +const char iarToolchainFilePath[]{"/opt/qtformcu/2.2/lib/cmake/Qul/toolchain/iar.cmake"}; +const char iarToolchainFileUnexpandedPath[]{"%{Qul_ROOT}/lib/cmake/Qul/toolchain/iar.cmake"}; const char iarVersionDetectionRegex[]{R"(\bV(\d+\.\d+\.\d+)\.\d+\b)"}; -const QStringList iarVersions{{"8.50.9"}}; +const QStringList iarVersions{{"9.20.4"}}; const char iar[]{"iar"}; const char id[]{"target_id"}; const char name[]{"target_name"}; @@ -136,17 +134,17 @@ const QString settingsPrefix = QLatin1String(Constants::SETTINGS_GROUP) + '/' const QString unsupportedToolchainFilePath = QString{qtForMcuSdkPath} + "/lib/cmake/Qul/toolchain/unsupported.cmake"; -const QStringList jsonFiles{QString::fromUtf8(armgcc_nxp_1050_json), - QString::fromUtf8(iar_nxp_1064_json)}; +const QStringList jsonFiles{QString::fromUtf8(armgcc_mimxrt1050_evk_freertos_json), + QString::fromUtf8(iar_mimxrt1064_evk_freertos_json)}; const bool runLegacy{true}; const int colorDepth{32}; const PackageDescription - qtForMCUsSDKDescription{Legacy::Constants::QUL_LABEL, + qtForMCUsSDKDescription{QUL_LABEL, QUL_ENV_VAR, QUL_CMAKE_VAR, - Legacy::Constants::QUL_LABEL, + {}, Constants::SETTINGS_KEY_PACKAGE_QT_FOR_MCUS_SDK, qtForMcuSdkPath, Legacy::Constants::QT_FOR_MCUS_SDK_PACKAGE_VALIDATION_PATH, @@ -234,6 +232,7 @@ void verifyMsvcToolchain(const McuToolChainPackagePtr &msvcPackage, const QStrin void verifyTargetToolchains(const Targets &targets, const QString &toolchainFilePath, + const QString &toolchainFileDefaultPath, const QString &compilerPath, const QString &compilerSetting, const QStringList &versions) @@ -246,7 +245,7 @@ void verifyTargetToolchains(const Targets &targets, QCOMPARE(toolchainFile->cmakeVariableName(), Legacy::Constants::TOOLCHAIN_FILE_CMAKE_VARIABLE); QCOMPARE(toolchainFile->settingsKey(), empty); QCOMPARE(toolchainFile->path().toString(), toolchainFilePath); - QCOMPARE(toolchainFile->defaultPath().toString(), toolchainFilePath); + QCOMPARE(toolchainFile->defaultPath().toString(), toolchainFileDefaultPath); const auto toolchainCompiler{target->toolChainPackage()}; QVERIFY(toolchainCompiler); @@ -283,7 +282,27 @@ void verifyFreeRtosPackage(const McuPackagePtr &freeRtos, QCOMPARE(freeRtos->settingsKey(), expectedSettingsKey); QCOMPARE(freeRtos->path().cleanPath().toString(), freeRtosPath); QCOMPARE(freeRtos->detectionPath().cleanPath().toString(), freeRtosDetectionPath); - QVERIFY(freeRtos->path().toString().startsWith(boardSdkDir.cleanPath().toString())); + QVERIFY(freeRtos->path().toUserOutput().startsWith(boardSdkDir.cleanPath().toUserOutput())); +} + +void verifyPackage(const McuPackagePtr &package, + const QString &path, + const QString &defaultPath, + const QString &setting, + const QString &cmakeVar, + const QString &envVar, + const QString &label, + const QString &detectionPath, + const QStringList &versions) +{ + QVERIFY(package); + QCOMPARE(package->defaultPath().toString(), defaultPath); + QCOMPARE(package->path().toString(), path); + QCOMPARE(package->cmakeVariableName(), cmakeVar); + QCOMPARE(package->environmentVariableName(), envVar); + QCOMPARE(package->label(), label); + QCOMPARE(package->settingsKey(), setting); + QCOMPARE(package->versions(), versions); } McuSupportTest::McuSupportTest() @@ -354,12 +373,15 @@ void McuSupportTest::initTestCase() EXPECT_CALL(*freeRtosPackage, isAddToSystemPath()).WillRepeatedly(Return(true)); EXPECT_CALL(*freeRtosPackage, detectionPath()).WillRepeatedly(Return(FilePath{})); - EXPECT_CALL(*sdkPackage, environmentVariableName()).WillRepeatedly(Return(QString{QUL_ENV_VAR})); - EXPECT_CALL(*sdkPackage, cmakeVariableName()).WillRepeatedly(Return(QString{QUL_CMAKE_VAR})); - EXPECT_CALL(*sdkPackage, isValidStatus()).WillRepeatedly(Return(true)); - EXPECT_CALL(*sdkPackage, path()).WillRepeatedly(Return(FilePath::fromUserInput(qtForMcuSdkPath))); - EXPECT_CALL(*sdkPackage, isAddToSystemPath()).WillRepeatedly(Return(true)); - EXPECT_CALL(*sdkPackage, detectionPath()).WillRepeatedly(Return(FilePath{})); + ON_CALL(*sdkPackage, label()).WillByDefault(Return(QString{QUL_LABEL})); + ON_CALL(*sdkPackage, settingsKey()) + .WillByDefault(Return(QString{Constants::SETTINGS_KEY_PACKAGE_QT_FOR_MCUS_SDK})); + ON_CALL(*sdkPackage, environmentVariableName()).WillByDefault(Return(QString{QUL_ENV_VAR})); + ON_CALL(*sdkPackage, cmakeVariableName()).WillByDefault(Return(QString{QUL_CMAKE_VAR})); + ON_CALL(*sdkPackage, isValidStatus()).WillByDefault(Return(true)); + ON_CALL(*sdkPackage, path()).WillByDefault(Return(FilePath::fromUserInput(qtForMcuSdkPath))); + ON_CALL(*sdkPackage, isAddToSystemPath()).WillByDefault(Return(true)); + ON_CALL(*sdkPackage, detectionPath()).WillByDefault(Return(FilePath{})); EXPECT_CALL(*armGccToolchainFilePackage, environmentVariableName()) .WillRepeatedly(Return(QString{QString{}})); @@ -391,14 +413,14 @@ void McuSupportTest::cleanup() void McuSupportTest::test_parseBasicInfoFromJson() { - const auto description = parseDescriptionJson(iar_nxp_1064_json); + const auto description = parseDescriptionJson(iar_mimxrt1064_evk_freertos_json); QVERIFY(!description.freeRTOS.envVar.isEmpty()); } void McuSupportTest::test_parseCmakeEntries() { - const auto description{parseDescriptionJson(iar_nxp_1064_json)}; + const auto description{parseDescriptionJson(iar_mimxrt1064_evk_freertos_json)}; auto &freeRtos = description.freeRTOS.package; QCOMPARE(freeRtos.envVar, nxp1064FreeRtosEnvVar); @@ -413,22 +435,25 @@ void McuSupportTest::test_parseToolchainFromJSON_data() QTest::addColumn("id"); //TODO(me): Add ghs nxp 1064 nxp 1070. - QTest::newRow("armgcc_nxp_1050_json") << armgcc_nxp_1050_json << armGccEnvVar << armGccLabel - << armGccToolchainFilePathWithVariable << armGcc; - QTest::newRow("armgcc_stm32f769i_freertos_json") - << armgcc_stm32f769i_freertos_json << armGccEnvVar << armGccLabel - << armGccToolchainFilePathWithVariable << armGcc; + QTest::newRow("armgcc_mimxrt1050_evk_freertos_json") + << armgcc_mimxrt1050_evk_freertos_json << armGccEnvVar << armGccLabel + << armGccToolchainFileUnexpandedPath << armGcc; + QTest::newRow("armgcc_mimxrt1064_evk_freertos_json") + << armgcc_mimxrt1064_evk_freertos_json << armGccEnvVar << armGccLabel + << armGccToolchainFileUnexpandedPath << armGcc; + QTest::newRow("armgcc_mimxrt1170_evk_freertos_json") + << armgcc_mimxrt1170_evk_freertos_json << armGccEnvVar << armGccLabel + << armGccToolchainFileUnexpandedPath << armGcc; + QTest::newRow("armgcc_stm32f769i_discovery_freertos_json") + << armgcc_stm32f769i_discovery_freertos_json << armGccEnvVar << armGccLabel + << armGccToolchainFileUnexpandedPath << armGcc; + QTest::newRow("armgcc_stm32h750b_discovery_baremetal_json") + << armgcc_stm32h750b_discovery_baremetal_json << armGccEnvVar << armGccLabel + << armGccToolchainFileUnexpandedPath << armGcc; - QTest::newRow("armgcc_stm32h750b_metal_json") - << armgcc_stm32h750b_metal_json << armGccEnvVar << armGccLabel - << armGccToolchainFilePathWithVariable << armGcc; - - QTest::newRow("armgcc_nxp_mimxrt1170_evk_freertos_json") - << armgcc_nxp_mimxrt1170_evk_freertos_json << armGccEnvVar << armGccLabel - << armGccToolchainFilePathWithVariable << armGcc; - - QTest::newRow("iar_stm32f469i_metal_json") - << iar_stm32f469i_metal_json << iarEnvVar << iarLabel << iarToolchainFileDefaultPath << iar; + QTest::newRow("iar_stm32f469i_discovery_baremetal_json") + << iar_stm32f469i_discovery_baremetal_json << iarEnvVar << iarLabel + << iarToolchainFileUnexpandedPath << iar; } void McuSupportTest::test_parseToolchainFromJSON() @@ -447,7 +472,7 @@ void McuSupportTest::test_parseToolchainFromJSON() QCOMPARE(compilerPackage.envVar, environmentVariable); const PackageDescription &toolchainFilePackage{description.toolchain.file}; - QCOMPARE(toolchainFilePackage.label, cmakeToolchainLabel); + QCOMPARE(toolchainFilePackage.label, QString{}); QCOMPARE(toolchainFilePackage.envVar, QString{}); QCOMPARE(toolchainFilePackage.cmakeVar, Legacy::Constants::TOOLCHAIN_FILE_CMAKE_VARIABLE); QCOMPARE(toolchainFilePackage.defaultPath.cleanPath().toString(), toolchainFileDefaultPath); @@ -462,7 +487,7 @@ void McuSupportTest::test_legacy_createIarToolchain() void McuSupportTest::test_createIarToolchain() { - const auto description = parseDescriptionJson(iar_stm32f469i_metal_json); + const auto description = parseDescriptionJson(iar_stm32f469i_discovery_baremetal_json); McuToolChainPackagePtr iarToolchainPackage{targetFactory.createToolchain(description.toolchain)}; verifyIarToolchain(iarToolchainPackage); @@ -471,8 +496,8 @@ void McuSupportTest::test_createIarToolchain() void McuSupportTest::test_legacy_createDesktopGccToolchain() { McuToolChainPackagePtr gccPackage = Legacy::createGccToolChainPackage(settingsMockPtr, - {armGccNewVersion}); - verifyGccToolchain(gccPackage, {armGccNewVersion}); + {armGccVersion}); + verifyGccToolchain(gccPackage, {armGccVersion}); } void McuSupportTest::test_createDesktopGccToolchain() @@ -510,14 +535,13 @@ void McuSupportTest::test_legacy_createArmGccToolchain() void McuSupportTest::test_createArmGccToolchain_data() { - QStringList versions{armGccVersion, armGccNewVersion}; - QTest::addColumn("json"); - QTest::newRow("armgcc_nxp_1050_json") << armgcc_nxp_1050_json; - QTest::newRow("armgcc_stm32f769i_freertos_json") << armgcc_stm32f769i_freertos_json; - QTest::newRow("armgcc_stm32h750b_metal_json") << armgcc_stm32h750b_metal_json; - QTest::newRow("armgcc_nxp_mimxrt1170_evk_freertos_json") - << armgcc_nxp_mimxrt1170_evk_freertos_json; + QTest::newRow("armgcc_mimxrt1050_evk_freertos_json") << armgcc_mimxrt1050_evk_freertos_json; + QTest::newRow("armgcc_stm32f769i_discovery_freertos_json") + << armgcc_stm32f769i_discovery_freertos_json; + QTest::newRow("armgcc_stm32h750b_discovery_baremetal_json") + << armgcc_stm32h750b_discovery_baremetal_json; + QTest::newRow("armgcc_mimxrt1170_evk_freertos_json") << armgcc_mimxrt1170_evk_freertos_json; } void McuSupportTest::test_createArmGccToolchain() @@ -534,11 +558,13 @@ void McuSupportTest::test_mapParsedToolchainIdToCorrespondingType_data() QTest::addColumn("description"); QTest::addColumn("toolchainType"); - QTest::newRow("armgcc_stm32h750b") << parseDescriptionJson(armgcc_stm32h750b_metal_json) - << McuToolChainPackage::ToolChainType::ArmGcc; - QTest::newRow("iar_nxp1064") << parseDescriptionJson(iar_nxp_1064_json) - << McuToolChainPackage::ToolChainType::IAR; - QTest::newRow("iar_stm32f469i") << parseDescriptionJson(iar_stm32f469i_metal_json) + QTest::newRow("armgcc_stm32h750b_discovery_baremetal_json") + << parseDescriptionJson(armgcc_stm32h750b_discovery_baremetal_json) + << McuToolChainPackage::ToolChainType::ArmGcc; + QTest::newRow("iar_mimxrt1064_evk_freertos_json") + << parseDescriptionJson(iar_mimxrt1064_evk_freertos_json) + << McuToolChainPackage::ToolChainType::IAR; + QTest::newRow("iar_stm32f469i") << parseDescriptionJson(iar_stm32f469i_discovery_baremetal_json) << McuToolChainPackage::ToolChainType::IAR; } @@ -563,31 +589,31 @@ void McuSupportTest::test_legacy_createPackagesWithCorrespondingSettings_data() {"RenesasFlashProgrammer"}, {"Stm32CubeProgrammer"}}; - QTest::newRow("nxp1064") << iar_nxp_1064_json - << QSet{{"EVK_MIMXRT1064_SDK_PATH"}, - {QString{ - Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX} - .append("IMXRT1064")}, - "IARToolchain"} - .unite(commonSettings); - QTest::newRow("stm32f469i") << iar_stm32f469i_metal_json + QTest::newRow("iar_mimxrt1064_evk_freertos_json") + << iar_mimxrt1064_evk_freertos_json + << QSet{{"EVK_MIMXRT1064_SDK_PATH"}, + {QString{Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX}.append( + "IMXRT1064")}, + "IARToolchain"} + .unite(commonSettings); + QTest::newRow("stm32f469i") << iar_stm32f469i_discovery_baremetal_json << QSet{{"STM32Cube_FW_F4_SDK_PATH"}, "IARToolchain"}.unite( commonSettings); - QTest::newRow("nxp1050") << armgcc_nxp_1050_json + QTest::newRow("nxp1050") << armgcc_mimxrt1050_evk_freertos_json << QSet{{"EVKB_IMXRT1050_SDK_PATH"}, {QString{ Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX} .append("IMXRT1050")}, "GNUArmEmbeddedToolchain"} .unite(commonSettings); - QTest::newRow("stm32h750b") << armgcc_stm32h750b_metal_json - << QSet{{"STM32Cube_FW_H7_SDK_PATH"}, - "GNUArmEmbeddedToolchain"} - .unite(commonSettings); - QTest::newRow("stm32f769i") << armgcc_stm32f769i_freertos_json - << QSet{{"STM32Cube_FW_F7_SDK_PATH"}, - "GNUArmEmbeddedToolchain"} - .unite(commonSettings); + QTest::newRow("armgcc_stm32h750b_discovery_baremetal_json") + << armgcc_stm32h750b_discovery_baremetal_json + << QSet{{"STM32Cube_FW_H7_SDK_PATH"}, "GNUArmEmbeddedToolchain"}.unite( + commonSettings); + QTest::newRow("armgcc_stm32f769i_discovery_freertos_json") + << armgcc_stm32f769i_discovery_freertos_json + << QSet{{"STM32Cube_FW_F7_SDK_PATH"}, "GNUArmEmbeddedToolchain"}.unite( + commonSettings); QTest::newRow("ghs_rh850_d1m1a_baremetal_json") << ghs_rh850_d1m1a_baremetal_json << QSet{"GHSToolchain"}.unite(commonSettings); @@ -598,7 +624,7 @@ void McuSupportTest::test_legacy_createPackagesWithCorrespondingSettings() QFETCH(QString, json); const McuTargetDescription description = parseDescriptionJson(json.toLocal8Bit()); const auto [targets, packages]{ - targetsFromDescriptions({description}, settingsMockPtr, qtForMcuSdkPath, runLegacy)}; + targetsFromDescriptions({description}, settingsMockPtr, sdkPackagePtr, runLegacy)}; Q_UNUSED(targets); QSet settings = transform>(packages, [](const auto &package) { @@ -622,14 +648,15 @@ void McuSupportTest::test_createTargets() true}; targetDescription.toolchain.id = armGcc; - const auto [targets, packages]{targetFactory.createTargets(targetDescription, qtForMcuSdkPath)}; + const auto [targets, packages]{targetFactory.createTargets(targetDescription, sdkPackagePtr)}; QCOMPARE(targets.size(), 1); const McuTargetPtr target{targets.at(0)}; QCOMPARE(target->colorDepth(), colorDepth); const auto &tgtPackages{target->packages()}; - QCOMPARE(tgtPackages.size(), 5); + QCOMPARE(tgtPackages.size(), 5); // qtForMCUs, toolchain file + compiler, + // freertos, board sdk // target should contain freertos package QVERIFY(anyOf(tgtPackages, [](const McuPackagePtr &pkg) { @@ -682,8 +709,8 @@ void McuSupportTest::test_removeRtosSuffixFromEnvironmentVariable_data() QTest::addColumn("freeRtosEnvVar"); QTest::addColumn("expectedEnvVarWithoutSuffix"); - QTest::newRow("armgcc_nxp_1050_json") << nxp1050FreeRtosEnvVar << nxp1050; - QTest::newRow("iar_nxp_1064_json") << nxp1064FreeRtosEnvVar << nxp1064; + QTest::newRow("armgcc_mimxrt1050_evk_freertos_json") << nxp1050FreeRtosEnvVar << nxp1050; + QTest::newRow("iar_mimxrt1064_evk_freertos_json") << nxp1064FreeRtosEnvVar << nxp1064; QTest::newRow("nxp1170") << nxp1170FreeRtosEnvVar << nxp1170; QTest::newRow("stm32f7") << stm32f7FreeRtosEnvVar << stm32f7; } @@ -816,32 +843,48 @@ void McuSupportTest::test_legacy_createTargetWithToolchainPackages_data() { QTest::addColumn("json"); QTest::addColumn("toolchainFilePath"); + QTest::addColumn("toolchainFileDefaultPath"); QTest::addColumn("compilerPath"); QTest::addColumn("compilerSetting"); QTest::addColumn("versions"); - QTest::newRow("nxp1050") << armgcc_nxp_1050_json << armGccToolchainFileDefaultPath << armGccDir - << armGccDirectorySetting - << QStringList{armGccVersion, armGccNewVersion}; - QTest::newRow("stm32h750b") << armgcc_stm32h750b_metal_json << armGccToolchainFileDefaultPath - << armGccDir << armGccDirectorySetting - << QStringList{armGccVersion}; - QTest::newRow("stm32f769i") << armgcc_stm32f769i_freertos_json << armGccToolchainFileDefaultPath - << armGccDir << armGccDirectorySetting - << QStringList{armGccVersion, armGccNewVersion}; - QTest::newRow("stm32f469i") << iar_stm32f469i_metal_json << iarToolchainFileDefaultPath - << iarDir << iarSetting << iarVersions; - QTest::newRow("iar_nxp_1064_json") - << iar_nxp_1064_json << iarToolchainFileDefaultPath << iarDir << iarSetting << iarVersions; + QTest::newRow("armgcc_mimxrt1050_evk_freertos_json") + << armgcc_mimxrt1050_evk_freertos_json << armGccToolchainFilePath + << armGccToolchainFileUnexpandedPath << armGccDir << armGccDirectorySetting + << QStringList{armGccVersion}; + QTest::newRow("armgcc_mimxrt1064_evk_freertos_json") + << armgcc_mimxrt1064_evk_freertos_json << armGccToolchainFilePath + << armGccToolchainFileUnexpandedPath << armGccDir << armGccDirectorySetting + << QStringList{armGccVersion}; + QTest::newRow("armgcc_mimxrt1170_evk_freertos_json") + << armgcc_mimxrt1170_evk_freertos_json << armGccToolchainFilePath + << armGccToolchainFileUnexpandedPath << armGccDir << armGccDirectorySetting + << QStringList{armGccVersion}; + QTest::newRow("armgcc_stm32h750b_discovery_baremetal_json") + << armgcc_stm32h750b_discovery_baremetal_json << armGccToolchainFilePath + << armGccToolchainFileUnexpandedPath << armGccDir << armGccDirectorySetting + << QStringList{armGccVersion}; + QTest::newRow("armgcc_stm32f769i_discovery_freertos_json") + << armgcc_stm32f769i_discovery_freertos_json << armGccToolchainFilePath + << armGccToolchainFileUnexpandedPath << armGccDir << armGccDirectorySetting + << QStringList{armGccVersion}; + QTest::newRow("iar_stm32f469i_discovery_baremetal_json") + << iar_stm32f469i_discovery_baremetal_json << iarToolchainFilePath + << iarToolchainFileUnexpandedPath << iarDir << iarSetting << iarVersions; + QTest::newRow("iar_mimxrt1064_evk_freertos_json") + << iar_mimxrt1064_evk_freertos_json << iarToolchainFilePath + << iarToolchainFileUnexpandedPath << iarDir << iarSetting << iarVersions; QTest::newRow("ghs_rh850_d1m1a_baremetal_json") - << ghs_rh850_d1m1a_baremetal_json << greenhillToolchainFileDefaultPath - << greenhillCompilerDir << greenhillSetting << greenhillVersions; + << ghs_rh850_d1m1a_baremetal_json << greenhillToolchainFilePath + << greenhillToolchainFileUnexpandedPath << greenhillCompilerDir << greenhillSetting + << greenhillVersions; } void McuSupportTest::test_legacy_createTargetWithToolchainPackages() { QFETCH(QString, json); QFETCH(QString, toolchainFilePath); + QFETCH(QString, toolchainFileDefaultPath); QFETCH(QString, compilerPath); QFETCH(QString, compilerSetting); QFETCH(QStringList, versions); @@ -855,10 +898,15 @@ void McuSupportTest::test_legacy_createTargetWithToolchainPackages() .WillRepeatedly(Return(FilePath::fromUserInput(compilerPath))); const auto [targets, packages]{ - targetsFromDescriptions({description}, settingsMockPtr, qtForMcuSdkPath, runLegacy)}; + targetsFromDescriptions({description}, settingsMockPtr, sdkPackagePtr, runLegacy)}; Q_UNUSED(packages); - verifyTargetToolchains(targets, toolchainFilePath, compilerPath, compilerSetting, versions); + verifyTargetToolchains(targets, + toolchainFilePath, + toolchainFilePath, + compilerPath, + compilerSetting, + versions); } void McuSupportTest::test_createTargetWithToolchainPackages_data() @@ -870,6 +918,7 @@ void McuSupportTest::test_createTargetWithToolchainPackages() { QFETCH(QString, json); QFETCH(QString, toolchainFilePath); + QFETCH(QString, toolchainFileDefaultPath); QFETCH(QString, compilerPath); QFETCH(QString, compilerSetting); QFETCH(QStringList, versions); @@ -883,10 +932,29 @@ void McuSupportTest::test_createTargetWithToolchainPackages() const McuTargetDescription description = parseDescriptionJson(json.toLocal8Bit()); const auto [targets, packages]{ - targetsFromDescriptions({description}, settingsMockPtr, qtForMcuSdkPath, !runLegacy)}; + targetsFromDescriptions({description}, settingsMockPtr, sdkPackagePtr, !runLegacy)}; Q_UNUSED(packages); - verifyTargetToolchains(targets, toolchainFilePath, compilerPath, compilerSetting, versions); + const auto qtForMCUsSDK = findOrDefault(packages, [](const McuPackagePtr &pkg) { + return (pkg->cmakeVariableName() == QUL_CMAKE_VAR); + }); + + verifyPackage(qtForMCUsSDK, + qtForMcuSdkPath, + {}, // qtForMcuSdkPath + Constants::SETTINGS_KEY_PACKAGE_QT_FOR_MCUS_SDK, + QUL_CMAKE_VAR, + QUL_ENV_VAR, + QUL_LABEL, + Legacy::Constants::QT_FOR_MCUS_SDK_PACKAGE_VALIDATION_PATH, + {}); + + verifyTargetToolchains(targets, + toolchainFilePath, + toolchainFileDefaultPath, // default path is unexpanded. + compilerPath, + compilerSetting, + versions); } void McuSupportTest::test_addToolchainFileInfoToKit() @@ -909,20 +977,25 @@ void McuSupportTest::test_legacy_createBoardSdk_data() QTest::addColumn("environmentVariable"); QTest::addColumn("versions"); - QTest::newRow("armgcc_nxp_1050_json") - << armgcc_nxp_1050_json << boardSdkCmakeVar << "EVKB_IMXRT1050_SDK_PATH" + QTest::newRow("armgcc_mimxrt1050_evk_freertos_json") + << armgcc_mimxrt1050_evk_freertos_json << boardSdkCmakeVar << "EVKB_IMXRT1050_SDK_PATH" << QStringList{boardSdkVersion}; - QTest::newRow("armgcc_nxp_1064_json") << armgcc_nxp_1064_json << boardSdkCmakeVar - << "EVK_MIMXRT1064_SDK_PATH" << QStringList{"2.11.1"}; - QTest::newRow("stm32h750b") << armgcc_stm32h750b_metal_json << boardSdkCmakeVar - << "STM32Cube_FW_H7_SDK_PATH" << QStringList{"1.5.0"}; - QTest::newRow("stm32f769i") << armgcc_stm32f769i_freertos_json << boardSdkCmakeVar - << "STM32Cube_FW_F7_SDK_PATH" << QStringList{"1.16.0"}; - QTest::newRow("stm32f469i") << iar_stm32f469i_metal_json << boardSdkCmakeVar - << "STM32Cube_FW_F4_SDK_PATH" << QStringList{"1.25.0"}; - QTest::newRow("nxp1064") << iar_nxp_1064_json << boardSdkCmakeVar << "EVK_MIMXRT1064_SDK_PATH" - << QStringList{boardSdkVersion}; + QTest::newRow("armgcc_mimxrt1064_evk_freertos_json") + << armgcc_mimxrt1064_evk_freertos_json << boardSdkCmakeVar << "EVK_MIMXRT1064_SDK_PATH" + << QStringList{boardSdkVersion}; + QTest::newRow("armgcc_stm32h750b_discovery_baremetal_json") + << armgcc_stm32h750b_discovery_baremetal_json << boardSdkCmakeVar + << "STM32Cube_FW_H7_SDK_PATH" << QStringList{"1.10.0"}; + QTest::newRow("armgcc_stm32f769i_discovery_freertos_json") + << armgcc_stm32f769i_discovery_freertos_json << boardSdkCmakeVar + << "STM32Cube_FW_F7_SDK_PATH" << QStringList{"1.17.0"}; + QTest::newRow("iar_stm32f469i_discovery_baremetal_json") + << iar_stm32f469i_discovery_baremetal_json << boardSdkCmakeVar << "STM32Cube_FW_F4_SDK_PATH" + << QStringList{"1.27.0"}; + QTest::newRow("iar_mimxrt1064_evk_freertos_json") + << iar_mimxrt1064_evk_freertos_json << boardSdkCmakeVar << "EVK_MIMXRT1064_SDK_PATH" + << QStringList{boardSdkVersion}; QTest::newRow("ghs_rh850_d1m1a_baremetal_json") << ghs_rh850_d1m1a_baremetal_json << boardSdkCmakeVar << "RGL_DIR" << QStringList{"2.0.0a"}; } @@ -967,23 +1040,23 @@ void McuSupportTest::test_legacy_createFreeRtosPackage_data() QTest::addColumn("expectedPath"); QTest::addColumn("expectedDetectionPath"); - QTest::newRow("armgcc_nxp_1050_json") - << armgcc_nxp_1050_json << QStringList{boardSdkVersion} + QTest::newRow("armgcc_mimxrt1050_evk_freertos_json") + << armgcc_mimxrt1050_evk_freertos_json << QStringList{boardSdkVersion} << QString{Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX}.append(nxp1050) << FilePath::fromUserInput(boardSdkDir) / freeRtosNxpPathSuffix << FilePath::fromUserInput(freeRtosDetectionPath); - QTest::newRow("armgcc_nxp_1064_json") - << armgcc_nxp_1064_json << QStringList{boardSdkVersion} + QTest::newRow("armgcc_mimxrt1064_evk_freertos_json") + << armgcc_mimxrt1064_evk_freertos_json << QStringList{boardSdkVersion} << QString{Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX}.append(nxp1064) << FilePath::fromUserInput(boardSdkDir) / freeRtosNxpPathSuffix << FilePath::fromUserInput(freeRtosDetectionPath); - QTest::newRow("iar_nxp_1064_json") - << iar_nxp_1064_json << QStringList{boardSdkVersion} + QTest::newRow("iar_mimxrt1064_evk_freertos_json") + << iar_mimxrt1064_evk_freertos_json << QStringList{boardSdkVersion} << QString{Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX}.append(nxp1064) << FilePath::fromUserInput(boardSdkDir) / freeRtosNxpPathSuffix << FilePath::fromUserInput(freeRtosDetectionPath); - QTest::newRow("armgcc_stm32f769i_freertos_json") - << armgcc_stm32f769i_freertos_json << QStringList{"1.16.0"} + QTest::newRow("armgcc_stm32f769i_discovery_freertos_json") + << armgcc_stm32f769i_discovery_freertos_json << QStringList{"1.16.0"} << QString{Legacy::Constants::SETTINGS_KEY_FREERTOS_PREFIX}.append(stm32f7) << FilePath::fromUserInput(boardSdkDir) / freeRtosStmPathSuffix << FilePath::fromUserInput(freeRtosDetectionPath); @@ -1031,7 +1104,7 @@ void McuSupportTest::test_createFreeRtosPackage() EXPECT_CALL(*settingsMockPtr, getPath(targetDescription.boardSdk.envVar, _, _)) .WillRepeatedly(Return(FilePath::fromString(boardSdkDir))); - auto [targets, packages] = targetFactory.createTargets(targetDescription, qtForMcuSdkPath); + auto [targets, packages] = targetFactory.createTargets(targetDescription, sdkPackagePtr); auto freeRtos = findOrDefault(packages, [](const McuPackagePtr &pkg) { return (pkg->cmakeVariableName() == freeRtosCMakeVar); @@ -1049,8 +1122,10 @@ void McuSupportTest::test_legacy_doNOTcreateFreeRtosPackageForMetalVariants_data { QTest::addColumn("json"); - QTest::newRow("iar_stm32f469i_metal_json") << iar_stm32f469i_metal_json; - QTest::newRow("armgcc_stm32h750b_metal_json") << armgcc_stm32h750b_metal_json; + QTest::newRow("iar_stm32f469i_discovery_baremetal_json") + << iar_stm32f469i_discovery_baremetal_json; + QTest::newRow("armgcc_stm32h750b_discovery_baremetal_json") + << armgcc_stm32h750b_discovery_baremetal_json; QTest::newRow("ghs_rh850_d1m1a_baremetal_json") << ghs_rh850_d1m1a_baremetal_json; QTest::newRow("gcc_desktop_json") << gcc_desktop_json; } @@ -1062,7 +1137,7 @@ void McuSupportTest::test_legacy_doNOTcreateFreeRtosPackageForMetalVariants() McuTargetDescription targetDescription{parseDescriptionJson(json.toLocal8Bit())}; QCOMPARE(targetDescription.freeRTOS.package.cmakeVar, ""); - auto [targets, packages] = targetFactory.createTargets(targetDescription, qtForMcuSdkPath); + auto [targets, packages] = targetFactory.createTargets(targetDescription, sdkPackagePtr); auto freeRtos = findOrDefault(packages, [](const McuPackagePtr &pkg) { return (pkg->cmakeVariableName() == freeRtosCMakeVar); @@ -1088,7 +1163,7 @@ void McuSupportTest::test_legacy_createQtMCUsPackage() void McuSupportTest::test_legacy_supportMultipleToolchainVersions() { - const auto description = parseDescriptionJson(armgcc_stm32f769i_freertos_json); + const auto description = parseDescriptionJson(mulitple_toolchain_versions); QVERIFY(!description.toolchain.versions.empty()); QCOMPARE(description.toolchain.versions.size(), 2); @@ -1102,16 +1177,19 @@ void McuSupportTest::test_passExecutableVersionDetectorToToolchainPackage_data() QTest::addColumn("versionDetectionPath"); QTest::addColumn("versionDetectionArgs"); QTest::addColumn("versionRegex"); - QTest::newRow("armgcc_nxp_1050_json") - << armgcc_nxp_1050_json << armGccSuffix << version << armGccVersionDetectionRegex; - QTest::newRow("armgcc_stm32h750b_metal_json") - << armgcc_stm32h750b_metal_json << armGccSuffix << version << armGccVersionDetectionRegex; - QTest::newRow("armgcc_stm32f769i_freertos_json") - << armgcc_stm32f769i_freertos_json << armGccSuffix << version + QTest::newRow("armgcc_mimxrt1050_evk_freertos_json") + << armgcc_mimxrt1050_evk_freertos_json << armGccSuffix << version + << armGccVersionDetectionRegex; + QTest::newRow("armgcc_stm32h750b_discovery_baremetal_json") + << armgcc_stm32h750b_discovery_baremetal_json << armGccSuffix << version + << armGccVersionDetectionRegex; + QTest::newRow("armgcc_stm32f769i_discovery_freertos_json") + << armgcc_stm32f769i_discovery_freertos_json << armGccSuffix << version << armGccVersionDetectionRegex; - QTest::newRow("iar_stm32f469i_metal_json") << iar_stm32f469i_metal_json << QString{"bin/iccarm"} - << version << iarVersionDetectionRegex; + QTest::newRow("iar_stm32f469i_discovery_baremetal_json") + << iar_stm32f469i_discovery_baremetal_json << QString{"bin/iccarm"} << version + << iarVersionDetectionRegex; } void McuSupportTest::test_passExecutableVersionDetectorToToolchainPackage() @@ -1162,23 +1240,25 @@ void McuSupportTest::test_legacy_passXMLVersionDetectorToNxpAndStmBoardSdkPackag QTest::addColumn("xmlAttribute"); QTest::addColumn("filePattern"); - QTest::newRow("armgcc_nxp_1050_json") << armgcc_nxp_1050_json << "ksdk" - << "version" - << "*_manifest_*.xml"; - QTest::newRow("armgcc_stm32h750b_metal_json") - << armgcc_stm32h750b_metal_json << "PackDescription" + QTest::newRow("armgcc_mimxrt1050_evk_freertos_json") + << armgcc_mimxrt1050_evk_freertos_json << "ksdk" + << "version" + << "*_manifest_*.xml"; + QTest::newRow("armgcc_stm32h750b_discovery_baremetal_json") + << armgcc_stm32h750b_discovery_baremetal_json << "PackDescription" << "Release" << "package.xml"; - QTest::newRow("armgcc_stm32f769i_freertos_json") - << armgcc_stm32f769i_freertos_json << "PackDescription" + QTest::newRow("armgcc_stm32f769i_discovery_freertos_json") + << armgcc_stm32f769i_discovery_freertos_json << "PackDescription" << "Release" << "package.xml"; - QTest::newRow("iar_stm32f469i_metal_json") << iar_stm32f469i_metal_json << "PackDescription" - << "Release" - << "package.xml"; - QTest::newRow("iar_nxp_1064_json") << iar_nxp_1064_json << "ksdk" - << "version" - << "*_manifest_*.xml"; + QTest::newRow("iar_stm32f469i_discovery_baremetal_json") + << iar_stm32f469i_discovery_baremetal_json << "PackDescription" + << "Release" + << "package.xml"; + QTest::newRow("iar_mimxrt1064_evk_freertos_json") << iar_mimxrt1064_evk_freertos_json << "ksdk" + << "version" + << "*_manifest_*.xml"; } void McuSupportTest::test_legacy_passXMLVersionDetectorToNxpAndStmBoardSdkPackage() @@ -1244,11 +1324,14 @@ void McuSupportTest::test_resolveEnvironmentVariablesInDefaultPath() QCOMPARE(qtcEnvironmentVariable(QUL_ENV_VAR), qtForMcuSdkPath); const QString qulEnvVariable = QString("%{Env:") + QUL_ENV_VAR + "}"; - toochainFileDescription.defaultPath = FilePath::fromUserInput( - qulEnvVariable + "/lib/cmake/Qul/toolchain/iar.cmake"); + const QString toolchainFileDefaultPath = qulEnvVariable + "/lib/cmake/Qul/toolchain/iar.cmake"; + const QString toolchainFilePath = QString{qtForMcuSdkPath} + + "/lib/cmake/Qul/toolchain/iar.cmake"; + + toochainFileDescription.defaultPath = FilePath::fromUserInput(toolchainFileDefaultPath); targetDescription.toolchain.file = toochainFileDescription; - auto [targets, packages] = targetFactory.createTargets(targetDescription, qtForMcuSdkPath); + auto [targets, packages] = targetFactory.createTargets(targetDescription, sdkPackagePtr); auto qtForMCUPkg = findOrDefault(packages, [](const McuPackagePtr &pkg) { return pkg->environmentVariableName() == QUL_ENV_VAR; }); @@ -1263,10 +1346,9 @@ void McuSupportTest::test_resolveEnvironmentVariablesInDefaultPath() QVERIFY(toolchainFilePkg); QVERIFY(targets.size() == 1); - QString expectedPkgPath = QString{qtForMcuSdkPath} + "/lib/cmake/Qul/toolchain/iar.cmake"; - QCOMPARE(toolchainFilePkg->path().toString(), expectedPkgPath); + QCOMPARE(toolchainFilePkg->path().toString(), toolchainFilePath); QVERIFY(toolchainFilePkg->path().toString().startsWith(qtForMcuSdkPath)); - QCOMPARE(toolchainFilePkg->defaultPath().toString(), expectedPkgPath); + QCOMPARE(toolchainFilePkg->defaultPath().toString(), toolchainFileDefaultPath); Utils::Environment::modifySystemEnvironment( {{QUL_ENV_VAR, qtForMcuSdkPath, EnvironmentItem::Unset}}); @@ -1276,11 +1358,14 @@ void McuSupportTest::test_resolveEnvironmentVariablesInDefaultPath() void McuSupportTest::test_resolveCmakeVariablesInDefaultPath() { const QString qulCmakeVariable = QString("%{") + QUL_CMAKE_VAR + "}"; - toochainFileDescription.defaultPath = FilePath::fromUserInput( - qulCmakeVariable + "/lib/cmake/Qul/toolchain/iar.cmake"); + const QString toolchainFileDefaultPath = qulCmakeVariable + + "/lib/cmake/Qul/toolchain/iar.cmake"; + const QString toolchainFilePath = QString{qtForMcuSdkPath} + + "/lib/cmake/Qul/toolchain/iar.cmake"; + toochainFileDescription.defaultPath = FilePath::fromUserInput(toolchainFileDefaultPath); targetDescription.toolchain.file = toochainFileDescription; - auto [targets, packages] = targetFactory.createTargets(targetDescription, qtForMcuSdkPath); + auto [targets, packages] = targetFactory.createTargets(targetDescription, sdkPackagePtr); auto qtForMCUPkg = findOrDefault(packages, [](const McuPackagePtr &pkg) { return pkg->cmakeVariableName() == QUL_CMAKE_VAR; }); @@ -1295,10 +1380,9 @@ void McuSupportTest::test_resolveCmakeVariablesInDefaultPath() QVERIFY(toolchainFilePkg); QVERIFY(targets.size() == 1); - QString expectedPkgPath = QString{qtForMcuSdkPath} + "/lib/cmake/Qul/toolchain/iar.cmake"; - QCOMPARE(toolchainFilePkg->path().toString(), expectedPkgPath); + QCOMPARE(toolchainFilePkg->path().toString(), toolchainFilePath); QVERIFY(toolchainFilePkg->path().toString().startsWith(qtForMcuSdkPath)); - QCOMPARE(toolchainFilePkg->defaultPath().toString(), expectedPkgPath); + QCOMPARE(toolchainFilePkg->defaultPath().toString(), toolchainFileDefaultPath); } void McuSupportTest::test_legacy_createThirdPartyPackage_data()