forked from qt-creator/qt-creator
Doc: Describe developing apps for Qt for MCUs
Fixes: QTCREATORBUG-22926 Change-Id: I6c494858bcd637e4ae11ab0e8ea2687fb1eb26ef Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
BIN
doc/images/qtcreator-mcu-device.png
Normal file
BIN
doc/images/qtcreator-mcu-device.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.1 KiB |
BIN
doc/images/qtcreator-mcu-kit.png
Normal file
BIN
doc/images/qtcreator-mcu-kit.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
BIN
doc/images/qtcreator-mcu-options.png
Normal file
BIN
doc/images/qtcreator-mcu-options.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
@@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2018 The Qt Company Ltd.
|
** Copyright (C) 2019 The Qt Company Ltd.
|
||||||
** Contact: https://www.qt.io/licensing/
|
** Contact: https://www.qt.io/licensing/
|
||||||
**
|
**
|
||||||
** This file is part of the Qt Creator documentation.
|
** This file is part of the Qt Creator documentation.
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
\contentspage index.html
|
\contentspage index.html
|
||||||
\previouspage creator-developing-generic-linux.html
|
\previouspage creator-developing-generic-linux.html
|
||||||
\page creator-developing-ios.html
|
\page creator-developing-ios.html
|
||||||
\nextpage creator-developing-qnx.html
|
\nextpage creator-developing-mcu.html
|
||||||
|
|
||||||
\title Connecting iOS Devices
|
\title Connecting iOS Devices
|
||||||
|
|
||||||
|
203
doc/src/mcu/creator-mcu-dev.qdoc
Normal file
203
doc/src/mcu/creator-mcu-dev.qdoc
Normal file
@@ -0,0 +1,203 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2019 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator documentation.
|
||||||
|
**
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and The Qt Company. For licensing terms
|
||||||
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||||
|
** information use the contact form at https://www.qt.io/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Free Documentation License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU Free
|
||||||
|
** Documentation License version 1.3 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file included in the packaging of
|
||||||
|
** this file. Please review the following information to ensure
|
||||||
|
** the GNU Free Documentation License version 1.3 requirements
|
||||||
|
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\contentspage index.html
|
||||||
|
\previouspage creator-developing-ios.html
|
||||||
|
\page creator-developing-mcu.html
|
||||||
|
\nextpage creator-developing-qnx.html
|
||||||
|
|
||||||
|
\title Connecting MCUs
|
||||||
|
|
||||||
|
\l{Qt for MCUs} enables you to use subsets of QML and Qt Quick Controls
|
||||||
|
to create user interfaces for devices that are powered by microcontroller
|
||||||
|
units (MCU). It includes a new graphics rendering engine that has a low
|
||||||
|
memory footprint and is optimized for MCUs and other resource-constrained
|
||||||
|
devices.
|
||||||
|
|
||||||
|
You can connect MCU boards to a development host to build applications for
|
||||||
|
them using the GNU Arm Embedded GCC compiler, libraries, and other GNU tools
|
||||||
|
necessary for bare metal software development on devices based on the Arm
|
||||||
|
Cortex-M processors. You can deploy the applications on MCUs to run and
|
||||||
|
debug them using \QC.
|
||||||
|
|
||||||
|
The toolchains are available for cross-compilation on Microsoft Windows,
|
||||||
|
Linux, and macOS.
|
||||||
|
|
||||||
|
The following MCU boards are currently supported:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li \l{https://www.st.com/en/evaluation-tools/stm32f7508-dk.html}
|
||||||
|
{STM32F7508-DK}
|
||||||
|
\li \l{https://www.st.com/en/evaluation-tools/32f769idiscovery.html}
|
||||||
|
{32F769IDISCOVERY}
|
||||||
|
\li \l{https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/i.mx-rt1050-evaluation-kit:MIMXRT1050-EVK}
|
||||||
|
{NXP i.MX RT1050 EVK}
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
For a list of Qt for MCU reference implementations, see the Qt for MCU
|
||||||
|
documentation.
|
||||||
|
|
||||||
|
You use the \l{Connecting Bare Metal Devices}{Bare metal plugin} to connect
|
||||||
|
to OpenOCD or ST-LINK Utility for debugging on MCUs.
|
||||||
|
|
||||||
|
\section1 Requirements
|
||||||
|
|
||||||
|
To use \QC to develop QML applications for MCUs, you need the following:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li Qt for MCU SDK
|
||||||
|
\li The Bare Metal plugin
|
||||||
|
\li GNU ARM Embedded Toolchain
|
||||||
|
\li For STM32 boards:
|
||||||
|
\list
|
||||||
|
\li \l{https://www.st.com/en/embedded-software/stm32cubef7.html}
|
||||||
|
{STM32Cube SDK}
|
||||||
|
\li \l{https://www.st.com/en/development-tools/stm32cubeprog.html}
|
||||||
|
{STM32Cube Programmer}
|
||||||
|
\endlist
|
||||||
|
\li For NXP boards:
|
||||||
|
\list
|
||||||
|
\li \l{https://www.nxp.com/design/development-boards/i.mx-evaluation-and-development-boards/i.mx-rt1050-evaluation-kit:MIMXRT1050-EVK}
|
||||||
|
NXP EVKB-IMXRT 1050 SDK
|
||||||
|
\li \l{https://www.segger.com/downloads/jlink}{SEGGER JLink}
|
||||||
|
\endlist
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 Setting Up the Development Environment
|
||||||
|
|
||||||
|
You must download and install the required software and create connections
|
||||||
|
between \QC and MCUs.
|
||||||
|
|
||||||
|
\section2 Enabling Bare Metal and MCU Plugins
|
||||||
|
|
||||||
|
To be able to develop for MCUs, you must enable the Bare Metal and MCU
|
||||||
|
plugins:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li Select \uicontrol Help > \uicontrol {About Plugins} >
|
||||||
|
\uicontrol {Device Support} > \uicontrol {Bare Metal} and
|
||||||
|
\uicontrol {MCU Support} to enable the Bare Metal and MCU
|
||||||
|
plugins.
|
||||||
|
\li Restart \QC to be able to use the plugins.
|
||||||
|
\li Create connections for debugging on the MCU board, as described in
|
||||||
|
\l{Connecting Bare Metal Devices}.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section2 Specifying MCU Settings
|
||||||
|
|
||||||
|
To configure a connection between \QC and your MCU board, select
|
||||||
|
\uicontrol Tools > \uicontrol Options > \uicontrol Devices >
|
||||||
|
\uicontrol MCU:
|
||||||
|
|
||||||
|
\image qtcreator-mcu-options.png "MCU options"
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li In the \uicontrol {MCU board} field, select your MCU board.
|
||||||
|
\li In the \uicontrol {GNU ARM Embedded Toolchain} field,
|
||||||
|
specify the path to the directory where you installed the
|
||||||
|
tool chain.
|
||||||
|
\li For STM32 boards:
|
||||||
|
\list
|
||||||
|
\li In the \uicontrol {STM32Cube SDK} field, specify the
|
||||||
|
path to the directory where you installed the SDK.
|
||||||
|
\li In the \uicontrol {STM32Cube Programmer} field,
|
||||||
|
specify the path to the directory where you
|
||||||
|
installed the tool.
|
||||||
|
\endlist
|
||||||
|
\li For NXP boards:
|
||||||
|
\list
|
||||||
|
\li In the \uicontrol {NXP EVKB-IMXRT 1050 SDK} field,
|
||||||
|
specify the path to the directory where you
|
||||||
|
installed the SDK.
|
||||||
|
\li In the \uicontrol {SEGGER JLink} field, specify the
|
||||||
|
path to the directory where you installed the tool.
|
||||||
|
\endlist
|
||||||
|
\li In the \uicontrol {Qt MCU SDK} field, specify the path to the
|
||||||
|
directory where you installed Qt MCU.
|
||||||
|
\li Select \uicontrol Apply to save the settings and to generate
|
||||||
|
a MCU device and kit.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section2 Adding MCU Devices
|
||||||
|
|
||||||
|
\QC automatically adds a default MCU device when you select
|
||||||
|
\uicontrol Apply in the \uicontrol MCU tab after configuring the
|
||||||
|
MCU tool chain.
|
||||||
|
|
||||||
|
\image qtcreator-mcu-device.png "MCU devices"
|
||||||
|
|
||||||
|
To add MCU devices, select \uicontrol Tools > \uicontrol Options >
|
||||||
|
\uicontrol Devices > \uicontrol Add > \uicontrol {MCU Device} >
|
||||||
|
\uicontrol {Start Wizard}:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li In the \uicontrol Name field, give the device a name.
|
||||||
|
\li In the \uicontrol Type field, select the board type.
|
||||||
|
\li Select \uicontrol Apply to add the device.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section2 Adding MCU Kits
|
||||||
|
|
||||||
|
\QC automatically adds kits for building applications and running them
|
||||||
|
on the specified MCU boards when you select \uicontrol Apply in the
|
||||||
|
\uicontrol MCU tab after configuring the MCU tool chain.
|
||||||
|
|
||||||
|
\image qtcreator-mcu-kit.png "MCU kits"
|
||||||
|
|
||||||
|
To add kits, select \uicontrol Tools > \uicontrol Options > \uicontrol Kits
|
||||||
|
> \uicontrol Add:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li In the \uicontrol Name field, specify a name for the kit.
|
||||||
|
\li In the \uicontrol {Device type} field, select
|
||||||
|
\uicontrol {MCU}.
|
||||||
|
\li In the \uicontrol Device field, select the MCU board for the kit.
|
||||||
|
\li In the \uicontrol Compiler field, select the Arm GCC compiler for
|
||||||
|
the kit.
|
||||||
|
\li Select \uicontrol Apply to add the kit.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 Running Applications on MCUs
|
||||||
|
|
||||||
|
You can use a wizard to set up a project for developing an application that
|
||||||
|
you can run on MCUs. The project uses a subset of QML and Qt Quick Controls
|
||||||
|
that are supported by Qt for MCUs. For more information about developing
|
||||||
|
applications for MCUs, see the Qt for MCU documentation.
|
||||||
|
|
||||||
|
To create an application and run it on a MCU board:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li Select \uicontrol File > \uicontrol {New File or Project} >
|
||||||
|
\uicontrol Application > \uicontrol {MCU Support Application} >
|
||||||
|
\uicontrol Choose.
|
||||||
|
\li Follow the instructions of the wizard to create the project.
|
||||||
|
\li Select \uicontrol Projects > \uicontrol {Build & Run}, and then
|
||||||
|
select the kit for building the application and running it on the
|
||||||
|
MCU board specified in the kit.
|
||||||
|
\li Select \uicontrol Run to specify run settings.
|
||||||
|
Usually, you can use the default settings.
|
||||||
|
\endlist
|
||||||
|
*/
|
@@ -83,6 +83,11 @@
|
|||||||
\QC detects the tools and configured devices automatically and uses
|
\QC detects the tools and configured devices automatically and uses
|
||||||
the tools to build, deploy, and run applications.
|
the tools to build, deploy, and run applications.
|
||||||
|
|
||||||
|
\li \l{Connecting MCUs}
|
||||||
|
|
||||||
|
You can connect MCU boards to a development host to deploy, run, and
|
||||||
|
debug applications on them from \QC.
|
||||||
|
|
||||||
\li \l{Connecting QNX Devices}
|
\li \l{Connecting QNX Devices}
|
||||||
|
|
||||||
You can connect QNX devices to the development PC to deploy, run and
|
You can connect QNX devices to the development PC to deploy, run and
|
||||||
|
@@ -42,6 +42,8 @@
|
|||||||
|
|
||||||
\li iOS
|
\li iOS
|
||||||
|
|
||||||
|
\li Microcontroller Units (MCU)
|
||||||
|
|
||||||
\li QNX
|
\li QNX
|
||||||
|
|
||||||
\li Universal Windows Platform (UWP)
|
\li Universal Windows Platform (UWP)
|
||||||
@@ -95,6 +97,11 @@
|
|||||||
\li
|
\li
|
||||||
\li \image ok
|
\li \image ok
|
||||||
\li
|
\li
|
||||||
|
\row
|
||||||
|
\li MCUs
|
||||||
|
\li \image ok
|
||||||
|
\li \image ok
|
||||||
|
\li \image ok
|
||||||
\row
|
\row
|
||||||
\li QNX
|
\li QNX
|
||||||
\li \image ok
|
\li \image ok
|
||||||
|
@@ -133,6 +133,13 @@
|
|||||||
code for a QApplication or create one that contains an
|
code for a QApplication or create one that contains an
|
||||||
empty window.
|
empty window.
|
||||||
|
|
||||||
|
\li MCU Support Application
|
||||||
|
|
||||||
|
Creates an application that uses a subset of QML and
|
||||||
|
Qt Quick Controls (as supported by Qt for MCUs) that
|
||||||
|
you can deploy, run, and debug on MCU boards. For more
|
||||||
|
information, see \l {Connecting MCUs}.
|
||||||
|
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
\li Libraries
|
\li Libraries
|
||||||
|
@@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
\contentspage index.html
|
\contentspage index.html
|
||||||
\previouspage creator-developing-ios.html
|
\previouspage creator-developing-mcu.html
|
||||||
\page creator-developing-qnx.html
|
\page creator-developing-qnx.html
|
||||||
\nextpage creator-setup-webassembly.html
|
\nextpage creator-setup-webassembly.html
|
||||||
|
|
||||||
|
@@ -175,6 +175,7 @@
|
|||||||
\li \l{Connecting Bare Metal Devices}
|
\li \l{Connecting Bare Metal Devices}
|
||||||
\li \l{Connecting Embedded Linux Devices}
|
\li \l{Connecting Embedded Linux Devices}
|
||||||
\li \l{Connecting iOS Devices}
|
\li \l{Connecting iOS Devices}
|
||||||
|
\li \l{Connecting MCUs}
|
||||||
\li \l{Connecting QNX Devices}
|
\li \l{Connecting QNX Devices}
|
||||||
\li \l{Building Applications for the Web}
|
\li \l{Building Applications for the Web}
|
||||||
\endlist
|
\endlist
|
||||||
|
Reference in New Issue
Block a user