/****************************************************************************
**
** 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-android.html
    \page creator-developing-baremetal.html
    \nextpage creator-developing-generic-linux.html

    \title Connecting Bare Metal Devices

    You can connect bare metal devices to a development host to run and debug
    applications on them from \QC using GDB or a hardware debugger. This enables
    you to debug on small devices that are not supported by the generic remote
    Linux device plugin. However, if the device does not have Qt libraries, you
    need a fake Qt installation.

    The bare metal device type accepts custom GDB commands that you specify in
    the device options. You can specify the commands to execute by default or
    the commands to execute when connecting to OpenOCD or ST-LINK Utility.

    To connect bare metal devices:

    \list 1
        \li Select \uicontrol Help > \uicontrol {About Plugins} >
            \uicontrol {Device Support} > \uicontrol {Bare Metal} to enable the
            Bare Metal Device plugin.

        \li Restart \QC to be able to use the plugin.

        \li Select \uicontrol Tools > \uicontrol Options > \uicontrol Devices >
            \uicontrol {Bare Metal} > \uicontrol Add > \uicontrol Default,
            \uicontrol OpenOCD, or \uicontrol {ST-LINK Utility} to specify
            connections to GDB servers or hardware debuggers:

            \image creator-baremetal-device.png "Bare Metal options"

            \list 1

                \li In the \uicontrol {Startup mode} field, select the mode to
                    start the GDB server or debugger in. The available modes
                    depend on the server or debugger.

                \li In the \uicontrol Host field, select the host name and port
                    number to connect to the GDB server or hardware debugger.

                \li In the \uicontrol {Init commands} field, enter the commands
                    to  execute when initializing the connection.

                \li In the \uicontrol {Reset commands} field, enter the commands
                    to  execute when resetting the connection.

                \li Select \uicontrol Apply to add the GDB server or debugger.

            \endlist

        \li Select \uicontrol Tools > \uicontrol Options > \uicontrol Devices >
            \uicontrol Add > \uicontrol {Bare Metal Device} >
            \uicontrol {Start Wizard}:

            \list 1

                \li In the \uicontrol {GDB server provider} field, select a
                    GDB server or hardware debugger.

                \li Select \uicontrol Apply to add the device.

            \endlist

        \li Select \uicontrol Tools > \uicontrol Options > \uicontrol Kits >
            \uicontrol Add to add a kit for building applications and running
            them on bare metal devices:

            \image creator-baremetal-kits.png "Bare Metal Device kits"

            \list 1

                \li In the \uicontrol Name field, specify a name for the kit.

                \li In the \uicontrol {Device type} field, select
                    \uicontrol {Bare Metal Device}.

                \li In the \uicontrol Device field, select the bare metal device
                    for the kit.

                \li Select \uicontrol Apply to add the kit.

            \endlist

        \li Open a project for an application you want to develop for the
            device.

        \li Select \uicontrol Projects > \uicontrol {Build & Run}, and then
            select the kit for building the application and running it on the bare
            metal device specified in the kit.

            \image creator-baremetal-kit-for-project.png "Adding a bare metal kit for a project"

        \li Select \uicontrol Run to specify run settings.

            Usually, you can use the default settings.

    \endlist

*/
