Embedded Development


STM32CubeMX integration

If you develop for STMicroelectronics boards, you’ll be happy to know that CLion integrates with STM32CubeMX:

  • CLion can create a new .ioc project or open an existing one, and generate a CMake file to correctly work with it.
  • You can start STM32CubeMX any time directly from CLion to update board settings and generate code.
  • CLion reminds you to select a board config and suggests a list of options in the UI.


PlatformIO is a new generation ecosystem that is gaining popularity quickly. To benefit from it in your embedded projects, take advantage of a PlatformIO for CLion plugin, which:

  • Adds the PlatformIO project type to the New Project wizard.
  • Generates the corresponding PlatformIO CMake-based project.
  • Automatically creates configurations for debug and upload.
  • Allows for debugging with the PIO Unified Debugger from CLion right on chip.

And much more! Check the official documentation for details.


IAR Toolchain

If you use the IAR compiler/toolchain in your embedded projects, you can do so in CLion. Projects using the IAR toolchain load successfully and work in CLion.

A few things to note here:

  • MinGW is required.
  • Ninja is recommended as a CMake generator.
  • A few tips on using CMake with IAR Embedded Workbench.

Open On-Chip Debugger

Debugging with the Open On-Chip Debugger is supported by CLion. Use the new Run/Debug configuration template, ‘OpenOCD Download and Run’ to debug on your microcontroller.

If you work with a STM32CubeMX project in CLion, an OpenOCD Run/Debug configuration will be created for you automatically.

Learn more about STM32CubeMX & OpenOCD integration

GDB Server

On-Chip debugging with GDB Server

If it’s possible to debug on the microcontroller of your choice with a GDB Server, you can do it from CLion using a special Embedded GDB Server Run/Debug configuration. It covers OpenOCD, ST-Link GDB Servers, Segger J-Link GDB Server, QEMU, and many other specific GDB Servers.

Create a configuration, providing a path to GDB Server, arguments to run the server, and other appropriate settings, and you are all set and ready to debug on-chip from CLion!


Peripheral View for ARM Devices

When debugging on-chip, it’s crucial to have the ability to view the peripherals. In CLion, this view is available for two types of Run/Debug configurations: Embedded GDB Server and OpenOCD Download & Run. In both cases, a Peripherals tab appears in the debug tool window when you start debugging. Load the appropriate .svd file for your board and select the active peripherals you need to see.

Learn more


MISRA C and C++

CLion comes with partial support for MISRA C 2012 and MISRA C++ 2008, guidelines used widely in embedded development and especially in the automotive industry. This support speeds up the development of such projects by revealing incompatibilities earlier in the development cycle. The list of currently supported checks is available on CLion’s Confluence page .