forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user