aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlessandro Portale <alessandro.portale@qt.io>2020-05-05 06:48:26 +0200
committerAlessandro Portale <alessandro.portale@qt.io>2020-05-06 16:36:53 +0000
commita5074ac987ee3c6edee8b1709dcbe5891dd2be3b (patch)
tree11a4510ad66236074ca19e8e4cbec9abb4d494da
parenteccf1269ac1a9ad78c4ce1eae9bb8c2931c26375 (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.cpp76
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);
+ }
}
}
}