diff options
author | Alessandro Portale <alessandro.portale@qt.io> | 2020-05-15 16:17:15 +0200 |
---|---|---|
committer | Alessandro Portale <alessandro.portale@qt.io> | 2020-05-27 11:47:57 +0000 |
commit | 2ba2a0d1d49f1c60b63c5b8df0d151b6afb83726 (patch) | |
tree | 272b664d494fd9fe6cee0a823830ca10c792d112 | |
parent | 6c9d8e619f5806b777d7aea38d010d330571fb0e (diff) | |
download | qt-creator-2ba2a0d1d49f1c60b63c5b8df0d151b6afb83726.tar.gz |
McuSupport: Qul v1.2 adjustments
- Bump supported version from 1.1 to 1.2
- Look in Qul_DIR/kits for boards json files (UL-2390)
- Remove "pragma main;" from app template main qml (UL-1708)
- Add a main.cpp for BareMetal and FreeRTOS each (QTCREATORBUG-24063)
- Removed ambiguous armgcc download link (QTCREATORBUG-24052)
Task-number: UL-1708
Task-number: UL-2390
Task-number: QTCREATORBUG-24063
Task-number: QTCREATORBUG-24052
Task-number: QTCREATORBUG-24079
Change-Id: Ieb3d0c22b9099b12f91096b5a90c6e84698be788
Reviewed-by: Christian Kamm <mail@ckamm.de>
8 files changed, 69 insertions, 13 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 fec1033d25..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; } @@ -294,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 |