QtCreator was originally an IDE targeted at desktop development, but it has evolved to desktop, mobile, embedded and bare metal. Since last years, it has suport for Android, C99, a code model in clang. It only supports gdb –with-python as the debugger though.
Bare metal development is for the small chips with no external memory: CortexM/R, with a hardware debugger (openOCD) and no OS or a very small one (FreeRTOS recommended). Otherwise, if Linux is running, then you can use the remote Linux debugging plugin.
The bare metal plugin uses a hardware debugger through gdb-server. QtCreator organises the targets by Kits – a Kit is compiler+debugger for a specific target. You have to assemble your toolchain into a BareMetal type Kit. Build system can be qbs (json-described build used by QtCreator), cmake, or qmake (but that needs a fake Qt and is not recommended).
New features in 2014: Fast Restart option, to avoid having to reflash, instead just reset the device. Recently added gdb provider support, which allows you to configure things from QtCreator itself – targeted for 3.4 release. To be added later: generic make support (which will make it possible to use this for Linux kernel debugging); device view (structured view of the hardware, so giving names to memory mapped addresses).