Qt Creator integration#
This tutorial shows how to adapt the Qt Creator IDE for comfortable developing and debugging of xpcc projects on STM32 microcontrollers.
This tutorial uses xpcc’s
hello-world example project of our
getting-started-with-xpcc repository for the STM32F4 Discovery board.
Install Qt Creator version 4.0 or above.
# On Fedora 22 and up sudo dnf install qtcreator # On OS X brew cask install qtcreator
Enable Bare Metal plugin#
OS X: Qt Creator → About Plugins...
Linux: Help → About Plugins...
Enable the BareMetal plugin and restart Qt Creator.
OS X: Qt Creator → Preferences...
Linux: Go to Options dialog: Tools → Options...
Go to Tab C++, create a copy of the
Qt [builtin] code style, name it
xpcc and click Edit....
Tabs only, save and exit.
In Build & Run and sub-tab Debuggers click Add to add the
arm-none-eabi-gdb debugger to Qt Creator:
For Linux distributions that ship the toolchain themselves and have Python scripting enabled by default, you can use
/usr/bin/arm-none-eabi-gdb (without the
Add OpenOCD server#
Go to tab Bare Metal and select Add → OpenOCD.
Use the following settings:
- Startup mode: Startup in TCP/IP Mode
- Executable file: Path to OpenOCD binary:
/usr/local/bin/openocd(OS X), or
- Root scripts directory: Absolute path to OpenOCD script directory:
/usr/local/share/openocd/scripts(OS X), or
- Configuration File:
If you want to use other targets, create an OpenOCD provider, Device and Kit for each or them. Have a look at the OpenOCD script directory to find a configuration file for your target.
Add target device#
For the next step go to the Devices tab and Add... a new Bare Metal Device. Use the following settings:
- Device type: Bare Metal Device
- Device: STM32F4-DISCO (the device we just created)
- Compiler: Irrelevant, we won't use it.
- Debugger: arm-none-eabi-gdb
- Qt version: None
xpcc project setup#
Check out the getting started repository:
git clone --recursive https://github.com/roboterclubaachen/getting-started-with-xpcc.git
Change to the project folder and run
scons qtcreator to generate the Qt creator project files for the xpcc project:
cd getting-started-with-xpcc/hello-world scons qtcreator scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... Template: 'getting-started-with-xpcc/xpcc/templates/qtcreator/project.creator.in' to 'hello-world.creator' Template: 'getting-started-with-xpcc/xpcc/templates/qtcreator/project.config.in' to 'hello-world.config' Template: 'getting-started-with-xpcc/xpcc/templates/qtcreator/project.files.in' to 'hello-world.files' Template: 'getting-started-with-xpcc/xpcc/templates/qtcreator/project.includes.in' to 'hello-world.includes' scons: done building targets.
Open project with Qt Creator: File → Open File or Project
First, click Add Kit → STM32F4-DISCO, then remove the created Default using the icon to the right of it: Default → Remove Kit.
Next go to the Build Settings and remove all existing Build Steps and Clean Steps and:
- add a new Custom Process Step build step with command
- add a new Custom Process Step clean step with command
- add a custom
PATHto the System Environment, if you need to.
Congratulations, you can now compile, program and debug your xpcc application comfortably in Qt Creator.