Developing for Bare Metal Devices

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

Note: Enable the Bare Metal plugin to use it.

Install Bare Metal toolchains on the computer to build applications for Bare Metal devices. Connect the devices to the computer to run and debug applications on them.

Note: If you use qmake to build the project and the device does not have Qt libraries, you need a Qt installation that meets the requirements in Self-built Qt versions. In addition, the mkspecs directory needs to be complete enough to parse .pro files.

The following toolchains are supported for building applications:

  • GCC: Microchip Technology (AVR, AVR32, PIC16, PIC32), NXP Semiconductors (ColdFire, M68K), Texas Instruments (MSP430), National Semiconductor (CR16C), Renesas Electronics (M32R, M32C, RL78, RX, SuperH, V850), Tensilica XTENSA (ESP8266, ESP32), RISC-V, Arm
  • IAR EW: Microchip Technology (AVR, AVR32), NXP Semiconductors (ColdFire, M68K), Texas Instruments (MSP430), National Semiconductor (CR16C), Renesas Electronics (78K, M16/R8C, M32C, R32C, RH850, RL78, RX, SuperH, V850), STMicroelectronics (STM8), 8051, RISC-V, Arm
  • Keil: Arm, C51 (8051), C251 (80251), C166 (C16x, XC16x)
  • SDCC: STMicroelectronics (STM8), 8051

The bare metal device type accepts custom GDB commands that you specify in the device preferences. You can specify the commands to execute when connecting using a particular debug server provider.

Debug Server Providers

The following debug server providers are supported when using GDB:

ST-Link and J-Link debug server providers can be used together with the uVision IDE.

To create connections to bare metal devices using a debug server provider, go to Preferences > Devices > Bare Metal and select Add.

The available settings depend on the debug server provider.

See also Add kits, Enable and disable plugins, and How To: Develop for Bare Metal.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.