diff options
author | Alessandro Portale <alessandro.portale@qt.io> | 2020-05-05 06:48:26 +0200 |
---|---|---|
committer | Alessandro Portale <alessandro.portale@qt.io> | 2020-05-06 16:36:53 +0000 |
commit | a5074ac987ee3c6edee8b1709dcbe5891dd2be3b (patch) | |
tree | 11a4510ad66236074ca19e8e4cbec9abb4d494da | |
parent | eccf1269ac1a9ad78c4ce1eae9bb8c2931c26375 (diff) |
McuSupport: Add FreeRTOS variations to hardcoded list of targets
Task-number: QTCREATORBUG-23938
Change-Id: I73ca401bd323bd001fa5e05c33783307c94f10be
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
-rw-r--r-- | src/plugins/mcusupport/mcusupportsdk.cpp | 76 |
1 files changed, 51 insertions, 25 deletions
diff --git a/src/plugins/mcusupport/mcusupportsdk.cpp b/src/plugins/mcusupport/mcusupportsdk.cpp index f318bae324..bd57cd5c50 100644 --- a/src/plugins/mcusupport/mcusupportsdk.cpp +++ b/src/plugins/mcusupport/mcusupportsdk.cpp @@ -249,6 +249,9 @@ void hardcodedTargetsAndPackages(const Utils::FilePath &dir, QVector<McuPackage McuPackage* evkbImxrt1050SdkPackage = Sdk::createEvkbImxrt1050SdkPackage(); McuPackage *mcuXpressoIdePackage = createMcuXpressoIdePackage(); McuPackage *rglPackage = createRGLPackage(); + McuPackage *freeRTOSSTM32F7Package = createFreeRTOSSourcesPackage("STM32F7"); + McuPackage *freeRTOSIMXRT1050Package = createFreeRTOSSourcesPackage("IMXRT1050"); + McuPackage *freeRTOSIMXRT1064Package = createFreeRTOSSourcesPackage("IMXRT1064"); QVector<McuPackage*> stmEvalPackages = { armGccPackage, stm32CubeProgrammerPackage}; @@ -260,7 +263,8 @@ void hardcodedTargetsAndPackages(const Utils::FilePath &dir, QVector<McuPackage *packages = { armGccPackage, desktopToolChainPackage, ghsToolchainPackage, stm32CubeFwF7SdkPackage, stm32CubeProgrammerPackage, evkbImxrt1050SdkPackage, - mcuXpressoIdePackage, rglPackage}; + mcuXpressoIdePackage, rglPackage, + freeRTOSSTM32F7Package, freeRTOSIMXRT1050Package, freeRTOSIMXRT1064Package}; const QString vendorStm = "STM"; const QString vendorNxp = "NXP"; @@ -272,36 +276,58 @@ void hardcodedTargetsAndPackages(const Utils::FilePath &dir, QVector<McuPackage const QString qulPlatform; const QVector<McuPackage*> &packages; McuToolChainPackage *toolchainPackage; + McuPackage *freeRTOSPackage; const QVector<int> colorDepths; } targets[] = { - {vendorNxp, {"MIMXRT1050-EVK"}, nxpEvalPackages, armGccPackage, {16}}, - {vendorNxp, {"MIMXRT1064-EVK"}, nxpEvalPackages, armGccPackage, {16}}, - {vendorQt, {"Qt"}, desktopPackages, desktopToolChainPackage, {32}}, - {vendorRenesas, {"RH850-D1M1A"}, renesasEvalPackages, ghsToolchainPackage, {32}}, - {vendorStm, {"STM32F469I-DISCOVERY"}, stmEvalPackages, armGccPackage, {24}}, - {vendorStm, {"STM32F7508-DISCOVERY"}, stmEvalPackages, armGccPackage, {32, 16}}, - {vendorStm, {"STM32F769I-DISCOVERY"}, stmEvalPackages, armGccPackage, {32}}, - {vendorStm, {"STM32H750B-DISCOVERY"}, stmEvalPackages, armGccPackage, {32}}, - {vendorStm, {"STM32L4R9I-DISCOVERY"}, stmEvalPackages, armGccPackage, {24}}, - {vendorStm, {"STM32L4R9I-EVAL"}, stmEvalPackages, armGccPackage, {24}} + {vendorNxp, {"MIMXRT1050-EVK"}, nxpEvalPackages, armGccPackage, + freeRTOSIMXRT1050Package, {16}}, + {vendorNxp, {"MIMXRT1064-EVK"}, nxpEvalPackages, armGccPackage, + freeRTOSIMXRT1064Package, {16}}, + {vendorQt, {"Qt"}, desktopPackages, desktopToolChainPackage, + nullptr, {32}}, + {vendorRenesas, {"RH850-D1M1A"}, renesasEvalPackages, ghsToolchainPackage, + nullptr, {32}}, + {vendorStm, {"STM32F469I-DISCOVERY"}, stmEvalPackages, armGccPackage, + nullptr, {24}}, + {vendorStm, {"STM32F7508-DISCOVERY"}, stmEvalPackages, armGccPackage, + freeRTOSSTM32F7Package, {32, 16}}, + {vendorStm, {"STM32F769I-DISCOVERY"}, stmEvalPackages, armGccPackage, + freeRTOSSTM32F7Package, {32}}, + {vendorStm, {"STM32H750B-DISCOVERY"}, stmEvalPackages, armGccPackage, + nullptr, {32}}, + {vendorStm, {"STM32L4R9I-DISCOVERY"}, stmEvalPackages, armGccPackage, + nullptr, {24}}, + {vendorStm, {"STM32L4R9I-EVAL"}, stmEvalPackages, armGccPackage, + nullptr, {24}} }; const QString QulTargetTemplate = dir.toString() + "/lib/cmake/Qul/QulTargets/QulTargets_%1_%2.cmake"; - for (auto target : targets) { - const McuTarget::OS os = - target.toolchainPackage->type() == McuToolChainPackage::TypeDesktop - ? McuTarget::OS::Desktop : McuTarget::OS::BareMetal; - for (int colorDepth : target.colorDepths) { - const QString QulTarget = - QulTargetTemplate.arg(target.qulPlatform, QString::number(colorDepth)); - if (!Utils::FilePath::fromUserInput(QulTarget).exists()) - continue; - auto mcuTarget = new McuTarget(target.vendor, target.qulPlatform, os, target.packages, - target.toolchainPackage); - if (target.colorDepths.count() > 1) - mcuTarget->setColorDepth(colorDepth); - mcuTargets->append(mcuTarget); + for (const auto target : targets) { + for (auto os : {McuTarget::OS::Desktop, McuTarget::OS::BareMetal, + McuTarget::OS::FreeRTOS}) { + for (int colorDepth : target.colorDepths) { + QVector<McuPackage*> required3rdPartyPackages = target.packages; + if (os == McuTarget::OS::FreeRTOS) { + if (target.freeRTOSPackage) + required3rdPartyPackages.append(target.freeRTOSPackage); + else + continue; + } else if (os == McuTarget::OS::Desktop && target.toolchainPackage->type() + != McuToolChainPackage::TypeDesktop) { + continue; + } + + const QString QulTarget = + QulTargetTemplate.arg(target.qulPlatform, QString::number(colorDepth)); + if (!Utils::FilePath::fromUserInput(QulTarget).exists()) + continue; + auto mcuTarget = new McuTarget(target.vendor, target.qulPlatform, os, + required3rdPartyPackages, target.toolchainPackage); + if (target.colorDepths.count() > 1) + mcuTarget->setColorDepth(colorDepth); + mcuTargets->append(mcuTarget); + } } } } |