


Unfortunately, there are some exceptions where this approach does not work: For most of the STM32 MCUs, the project sources may be generated with STM2CubeMX for STM32CubeIDE, and then opened with CLion directly. Q: Are all STM32 chips supported out of the box?Ī: The answer depends on the MCU series. At the moment our primary target is ARM Cortex-M kernels: on-chip debugging is fully supported there using SEGGER, ST-LINK, and some other debug adapters. For many other target platforms, like ARM or RISC-V, on-chip debugging is supported via the gdbserver protocol. For instance, AVR firmware can be compiled and flashed to the hardware, but an on-chip debugger is not supported because of hardware limitations. Q: Is it possible to debug on a microcontroller with CLion?Ī: That depends on the hardware type. CLion also offers special support for STM32 MCUs and a snippet of CMakeLists.txt, which may be a starting point for projects based on other MCU series. Please see our webhelp for the officially supported hardware types. For example, expressif32 ( ESP8266, ESP32 ), mips32 ( pic32 ), avr8 ( arduino ), and risc-v etc are likely to work fine. Q: What kind of bare-metal hardware is supported?Ī: While we don’t test CLion extensively with all possible types of hardware, in general, any hardware that is supported by a relatively recent GCC toolchain or by IAR compilers should work. In some cases, on-chip debugging using SWD/JTAG can be helpful, and this is also supported via the Embedded GDB server. Here is an example project that demonstrates both embedded Linux support and a workaround for a related feature request. A project for Embedded Linux has to be compiled with a cross-compiler and then deployed and run on the target device under remote debugger. For the specific instructions and details, check out our webhelp for Embedded Development in CLion.
