From 2ba2a0d1d49f1c60b63c5b8df0d151b6afb83726 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Fri, 15 May 2020 16:17:15 +0200 Subject: 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 --- src/plugins/mcusupport/mcusupport.qrc | 2 ++ src/plugins/mcusupport/mcusupportoptions.cpp | 4 +-- src/plugins/mcusupport/mcusupportsdk.cpp | 11 ++----- .../wizards/application/BareMetal/main.cpp.tpl | 14 ++++++++ .../mcusupport/wizards/application/CMakeLists.txt | 2 +- .../wizards/application/FreeRTOS/main.cpp.tpl | 38 ++++++++++++++++++++++ .../mcusupport/wizards/application/main.qml.tpl | 1 - .../mcusupport/wizards/application/wizard.json | 10 ++++++ 8 files changed, 69 insertions(+), 13 deletions(-) create mode 100644 src/plugins/mcusupport/wizards/application/BareMetal/main.cpp.tpl create mode 100644 src/plugins/mcusupport/wizards/application/FreeRTOS/main.cpp.tpl 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 @@ wizards/icon@2x.png wizards/application/CMakeLists.txt wizards/application/project.qmlproject.tpl + wizards/application/BareMetal/main.cpp.tpl + wizards/application/FreeRTOS/main.cpp.tpl wizards/application/main.qml.tpl wizards/application/wizard.json 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 targetsFromDescriptions(const QList +#include + +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 +#include + +#include +#include +#include + +#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 @@ -52,6 +52,16 @@ "target": "%{ProjectDirectory}/%{ProjectName}.qmlproject", "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}", -- cgit v1.2.1