diff options
Diffstat (limited to 'src/plugins/mcusupport')
8 files changed, 69 insertions, 37 deletions
diff --git a/src/plugins/mcusupport/mcusupport.qrc b/src/plugins/mcusupport/mcusupport.qrc index b45fb8ccc3..59ff76770b 100644 --- a/src/plugins/mcusupport/mcusupport.qrc +++ b/src/plugins/mcusupport/mcusupport.qrc @@ -8,6 +8,8 @@ <file>wizards/icon@2x.png</file> <file>wizards/application/CMakeLists.txt</file> <file>wizards/application/project.qmlproject.tpl</file> + <file>wizards/application/BareMetal/main.cpp.tpl</file> + <file>wizards/application/FreeRTOS/main.cpp.tpl</file> <file>wizards/application/main.qml.tpl</file> <file>wizards/application/wizard.json</file> </qresource> diff --git a/src/plugins/mcusupport/mcusupportoptions.cpp b/src/plugins/mcusupport/mcusupportoptions.cpp index 894eb9cb4c..bb10f7b064 100644 --- a/src/plugins/mcusupport/mcusupportoptions.cpp +++ b/src/plugins/mcusupport/mcusupportoptions.cpp @@ -61,7 +61,7 @@ namespace McuSupport { namespace Internal { -static const int KIT_VERSION = 4; // Bumps up whenever details in Kit creation change +static const int KIT_VERSION = 5; // Bumps up whenever details in Kit creation change static QString packagePathFromSettings(const QString &settingsKey, const QString &defaultPath = {}) { @@ -441,7 +441,7 @@ void McuSupportOptions::deletePackagesAndTargets() const QVersionNumber &McuSupportOptions::supportedQulVersion() { - static const QVersionNumber v({1, 1}); + static const QVersionNumber v({1, 2}); return v; } diff --git a/src/plugins/mcusupport/mcusupportsdk.cpp b/src/plugins/mcusupport/mcusupportsdk.cpp index 757d919315..7dd7967997 100644 --- a/src/plugins/mcusupport/mcusupportsdk.cpp +++ b/src/plugins/mcusupport/mcusupportsdk.cpp @@ -99,8 +99,6 @@ static McuToolChainPackage *createArmGccPackage() Utils::HostOsInfo::withExecutableSuffix("bin/arm-none-eabi-g++"), "GNUArmEmbeddedToolchain", McuToolChainPackage::TypeArmGcc); - result->setDownloadUrl( - "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads"); result->setEnvironmentVariableName(envVar); return result; } @@ -149,19 +147,6 @@ static McuPackage *createRGLPackage() return result; } -static McuPackage *createStm32CubeFwF7SdkPackage() -{ - auto result = new McuPackage( - McuPackage::tr("STM32Cube SDK"), - "%{Env:STM32Cube_FW_F7_SDK_PATH}", - "Drivers/STM32F7xx_HAL_Driver", - "Stm32CubeFwF7Sdk"); - result->setDownloadUrl( - "https://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-mcu-packages/stm32cubef7.html"); - result->setEnvironmentVariableName("STM32Cube_FW_F7_SDK_PATH"); - return result; -} - static McuPackage *createStm32CubeProgrammerPackage() { @@ -185,17 +170,6 @@ static McuPackage *createStm32CubeProgrammerPackage() return result; } -static McuPackage *createEvkbImxrt1050SdkPackage() -{ - auto result = new McuPackage( - McuPackage::tr("NXP i.MXRT SDK"), - "%{Env:EVKB_IMXRT1050_SDK_PATH}", // TODO: Try to not use 1050 specifics - "EVKB-IMXRT1050_manifest_v3_5.xml", - "EvkbImxrt1050Sdk"); - result->setDownloadUrl("https://mcuxpresso.nxp.com/en/welcome"); - return result; -} - static McuPackage *createMcuXpressoIdePackage() { const char envVar[] = "MCUXpressoIDE_PATH"; @@ -318,13 +292,8 @@ static QVector<McuTarget *> targetsFromDescriptions(const QList<McuTargetDescrip static QFileInfoList targetDescriptionFiles(const Utils::FilePath &dir) { - // Workaround for UL-2390: Instead of "./kits/", walk through "./lib/cmake/Qul/boards/" - QFileInfoList result; - QDirIterator it(dir.toString() + "/lib/cmake/Qul/boards/", {QLatin1String("*.json")}, - QDir::Files, QDirIterator::Subdirectories); - while (it.hasNext()) - result.append(it.next()); - return result; + const QDir kitsDir(dir.toString() + "/kits/", "*.json"); + return kitsDir.entryInfoList(); } static QString freeRTOSEnvVarForPlatform(const QString &platform) diff --git a/src/plugins/mcusupport/wizards/application/BareMetal/main.cpp.tpl b/src/plugins/mcusupport/wizards/application/BareMetal/main.cpp.tpl new file mode 100644 index 0000000000..d6c84deeea --- /dev/null +++ b/src/plugins/mcusupport/wizards/application/BareMetal/main.cpp.tpl @@ -0,0 +1,14 @@ +#include "%{ProjectName}.h" + +#include <qul/application.h> +#include <qul/qul.h> + +int main() +{ + Qul::initPlatform(); + Qul::Application app; + static %{ProjectName} item; + app.setRootItem(&item); + app.exec(); + return 0; +} diff --git a/src/plugins/mcusupport/wizards/application/CMakeLists.txt b/src/plugins/mcusupport/wizards/application/CMakeLists.txt index ff5871b9b5..3ad30d99ca 100644 --- a/src/plugins/mcusupport/wizards/application/CMakeLists.txt +++ b/src/plugins/mcusupport/wizards/application/CMakeLists.txt @@ -4,7 +4,7 @@ project(%{ProjectName} VERSION 0.0.1 LANGUAGES C CXX ASM) find_package(Qul) -add_executable(%{ProjectName}) +add_executable(%{ProjectName} ${OS}/main.cpp) qul_target_qml_sources(%{ProjectName} %{MainQmlFile}) target_link_libraries(%{ProjectName} Qul::QuickUltralite) diff --git a/src/plugins/mcusupport/wizards/application/FreeRTOS/main.cpp.tpl b/src/plugins/mcusupport/wizards/application/FreeRTOS/main.cpp.tpl new file mode 100644 index 0000000000..43ca2e706b --- /dev/null +++ b/src/plugins/mcusupport/wizards/application/FreeRTOS/main.cpp.tpl @@ -0,0 +1,38 @@ +#include "%{ProjectName}.h" + +#include <qul/application.h> +#include <qul/qul.h> + +#include <cstdio> +#include <FreeRTOS.h> +#include <task.h> + +#ifndef QUL_STACK_SIZE +#error QUL_STACK_SIZE must be defined. +#endif + +static void Qul_Thread(void *argument); + +int main() +{ + Qul::initPlatform(); + + if (xTaskCreate(Qul_Thread, "QulExec", QUL_STACK_SIZE, 0, 4, 0) != pdPASS) { + std::printf("Task creation failed!.\\r\\n"); + configASSERT(false); + } + + vTaskStartScheduler(); + + // Should not reach this point + configASSERT(false); + return 0; +} + +static void Qul_Thread(void *argument) +{ + Qul::Application app; + static %{ProjectName} item; + app.setRootItem(&item); + app.exec(); +} diff --git a/src/plugins/mcusupport/wizards/application/main.qml.tpl b/src/plugins/mcusupport/wizards/application/main.qml.tpl index 595c561f74..8c05a48f66 100644 --- a/src/plugins/mcusupport/wizards/application/main.qml.tpl +++ b/src/plugins/mcusupport/wizards/application/main.qml.tpl @@ -1,4 +1,3 @@ -pragma main; import QtQuick 2.0 Rectangle { diff --git a/src/plugins/mcusupport/wizards/application/wizard.json b/src/plugins/mcusupport/wizards/application/wizard.json index 1c598507e1..b458bb010a 100644 --- a/src/plugins/mcusupport/wizards/application/wizard.json +++ b/src/plugins/mcusupport/wizards/application/wizard.json @@ -53,6 +53,16 @@ "openInEditor": false }, { + "source": "BareMetal/main.cpp.tpl", + "target": "%{ProjectDirectory}/BareMetal/main.cpp", + "openInEditor": false + }, + { + "source": "FreeRTOS/main.cpp.tpl", + "target": "%{ProjectDirectory}/FreeRTOS/main.cpp", + "openInEditor": false + }, + { "source": "main.qml.tpl", "target": "%{ProjectDirectory}/%{MainQmlFile}", "openInEditor": true |