// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \page creator-embedded-platforms.html
    \previouspage creator-reference.html

    \ingroup creator-reference-platforms

    \title Embedded Platforms

    \brief Embedded platforms that you can develop applications for.

    You can develop applications for the following embedded platforms:

    \list
        \li \l {Bare Metal}
        \li \l {Boot2Qt}
        \li \l {Remote Linux}
        \li \l {Microcontroller Units (MCU)}
        \li \l QNX
    \endlist

    You must install the tool chain for building applications for the targeted
    embedded platform on the development PC and use \QMT to
    install Qt libraries that are built for the platform. You can then add a
    \l{glossary-buildandrun-kit}{kit} with the tool chain and the Qt version
    for the device's architecture. When possible, \QMT creates
    suitable kits for you.

    You can connect embedded devices to the development PC to run, debug, and
    analyze applications built for them from \QC.

    \section1 Bare Metal

    You can run and debug applications on small devices that are not supported
    by the remote Linux device plugin by using GDB or a hardware
    debugger.

    For more information about developing applications for Bare Metal devices,
    see \l{Connecting Bare Metal Devices}.

    \section1 Boot2Qt

    The Boot2Qt stack runs on a variety of hardware. License holders can use
    tools to customize the contents of the stack and to take it into
    production hardware.

    The following topics have more information about developing applications
    for Boot2Qt devices:

    \list
        \li \l{Boot2Qt: Documentation}
        \li \l{Connecting Boot2Qt Devices}
        \li \l{Boot2Qt Run Settings}
        \li \l{Deploying to Boot2Qt}
        \li \l{Run in Qt Application Manager}
    \endlist

    \section1 Remote Linux

    You must have a tool chain for building applications for embedded Linux
    devices installed on the development PC.

    The following topics have more information about developing applications
    for remote Linux devices:

    \list
        \li \l{Adding Docker Devices}
        \li \l{Connecting Remote Linux Devices}
        \li \l{Deploying to Remote Linux}
        \li \l{Remote Linux Run Settings}
        \li \l{Run on remote Linux devices}
        \li \l{Run in Qt Application Manager}
    \endlist

    \section1 Microcontroller Units (MCU)

    You need 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.

    The following topics have more information about developing applications
    for MCUs:

    \list
        \li \l{Connecting MCUs}
        \li \l{MCUs}{How To: Develop for MCUs}
        \li \l{https://doc.qt.io/QtForMCUs/index.html}{\QMCU}
    \endlist

    \section1 QNX

    The QNX Neutrino RTOS has more command-line tools
    and services, as described in \l {Qt for QNX}.

    \note In Qt 6, \QC support for QNX is considered experimental.

    The following topics have more information about developing applications
    for QNX devices:

    \list
        \li \l{Connecting QNX Devices}
        \li \l{Deploying to QNX Neutrino}
        \li \l{QNX Run Settings}
        \li \l{Run on QNX devices}
        \li \l{Qt for QNX}
    \endlist

    \sa {Develop for Devices}{How To: Develop for Devices}, {Supported Platforms}
*/
