Skip to main content
Glenn Rosendahl
Associate II
September 3, 2026
Question

creating CMSIS and DFP bare metal project in STM32CubeIDE 2.2

  • September 3, 2026
  • 2 replies
  • 24 views

STM32CubeIDE v2.2 has left all of our code in question. We need guidance with the CMake since we no longer have any helper dialogs of the old IDE to create a project within the new framework that matches the old IDE. list of helpful guides

No HAL is needed

a CMSIS and DFP environment for the selected processor

CMake snippets that allow us to create and include legacy library code (adjusted for new processor)

methods to control code optimization for code sections and files

directory structure methods

basic commands to show what size of code we just compiled and output formats ie .hex

We believe this would be a great tutorial to ease the transition. I’m sure I have missed many other features of the old environment that you will quickly attend to.

Any guidance that doesn’t require 200 hours of head banging appreciated. 

Glenn

2 replies

Pavel A.
September 3, 2026

If you prefer Eclipse-based CubeIDE rather than VS Code with cmake, you can just tell CubeMX to generate the project for CubeIDE. Unless you have STM32C5 or other very new MCU, you can even use CubeIDE 1.9.x and stay in the comfort zone.

 

Explorer
September 6, 2026

I completely agree that the transition to STM32CubeIDE 2.2 and its new CMake-based workflow can be quite challenging, especially for developers who are used to the helper dialogs and project structure of the previous IDE versions.

A detailed migration guide would be extremely helpful. It should ideally cover how to create a bare-metal CMSIS + DFP project for a selected STM32 device without using HAL, how to add and manage legacy libraries through CMake, and how to adapt existing code for a different processor.

It would also be useful to include examples for controlling optimization at the file or code-section level, recommended directory structures, linker-script configuration, and commands for checking the final code size and generating output formats such as .hex and .bin.

Many developers are facing the same learning curve, so a complete step-by-step tutorial with a small working example would make the transition much easier. Clear explanations of the new project workflow, along with equivalent solutions for features that were previously handled by the IDE dialogs, would be greatly appreciated.

Any practical guidance or reference material that can save developers from spending countless hours figuring this out independently would be very welcome.