summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Portale <alessandro.portale@qt.io>2020-05-15 16:17:15 +0200
committerAlessandro Portale <alessandro.portale@qt.io>2020-05-27 11:47:57 +0000
commit2ba2a0d1d49f1c60b63c5b8df0d151b6afb83726 (patch)
tree272b664d494fd9fe6cee0a823830ca10c792d112
parent6c9d8e619f5806b777d7aea38d010d330571fb0e (diff)
downloadqt-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>
-rw-r--r--src/plugins/mcusupport/mcusupport.qrc2
-rw-r--r--src/plugins/mcusupport/mcusupportoptions.cpp4
-rw-r--r--src/plugins/mcusupport/mcusupportsdk.cpp11
-rw-r--r--src/plugins/mcusupport/wizards/application/BareMetal/main.cpp.tpl14
-rw-r--r--src/plugins/mcusupport/wizards/application/CMakeLists.txt2
-rw-r--r--src/plugins/mcusupport/wizards/application/FreeRTOS/main.cpp.tpl38
-rw-r--r--src/plugins/mcusupport/wizards/application/main.qml.tpl1
-rw-r--r--src/plugins/mcusupport/wizards/application/wizard.json10
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