cancel
Showing results for 
Search instead for 
Did you mean: 

New STM32 VSCode extension V2.0.0 released

Nawres GHARBI
ST Employee

Changelog

  • V2.0.0 implies a breaking change: CMake project generation has been moved from VS Code to STM32CubeMX v6.11.0 (and later).
    • VS Code solution no longer has dependency on STM32CubeIDE (.cproject-files)
    • VS Code solution no longer relies on STM32CubeIDE provided toolchains and debugger tools
    • VS Code solution no longer has dependency on vcpkg,
  • Added support to import STM32CubeMX v6.11.0 CMake projects and bootstrap edit/compile/debug in VS Code
  • Added support to create empty projects
  • Depends on STM32CubeCLT v1.15.0 for empty project creation, build and debug tools
  • Documentation update: The User Guide has increased coverage
  • Better OS platform support

 

https://marketplace.visualstudio.com/items?itemName=stmicroelectronics.stm32-vscode-extension

5 REPLIES 5
mattias norlander
ST Employee

To make a very small comparison of the "free IDE offering" from ST, let's summarize the situation like this:

  • STM32CubeIDE:
    • Fully-featured IDE.
    • Full STM32Cube ecosystem integration.
    • Integration of tools such as MCUFinder, CubeMX leads to slow performance.
  • VS Code extension:
    • Lightweight and fast "IDE", but limited in terms of debug features
    • CMake-based build system which is de-couple from the IDE - more efficient CLI/CI workflows
    • Today heavily relying on open-source and third-party extensions

It is fully up to the user to select which free IDE offering they want to use.

The latest version of STM32CubeMX (6.11.0) brings CMake project generation. Supporting CMake opens the door to "IDE freedom" in a development team, where each developer on and individual basis can choose which IDE they want to use assuming it has CMake support. The "holey grail" in a development-team is typically that all developers produce identical build results. This means that the compiler and build system is well-defined and frozen in the team! Which editor and debugger each developer want to use is more of a personal choice.


One way of squeezing out maximum "developer efficiency" given the current state of the free ST IDEs is to combine VS Code and STM32CubeIDE:

  • Use VS Code to edit and compile your project and for simple / quick debug sessions
  • Use CubeIDE as a compliment for advanced debug only

This dual-usage is fully possible by:

  1. Starting your CMake project from STM32CubeMX or from VS Code (empty project).
  2. Import and work with the project inside VS Code. All editing and compilation done inside VS Code (or CLI)
  3. Then use the elf-importer inside STM32CubeIDE to benefit from the advance debug features only (not for edit/compile)

Step#3 is accomplished by this wizard in STM32CubeIDE:

mattiasnorlander_0-1712223394274.png

Full source code look-up, c-line / assembly instruction stepping and hyper-linking to symbols/code will work despite that the actual c-code is not imported in the CubeIDE project.

 

ACapo.1
Senior

Will multi project boards ever be supported using this extension and cmake, currently the cmake and makefile options are greyed out in STM32CubeMX?

STM32H7S78 is an example.

Thanks

Andy


Hello @ACapo.1 , 

it will be supported in the coming releases

ACapo.1
Senior

Hi @Nawres GHARBI 

Super, thanks very much for the prompt reply.

Andy

MM..1
Chief II

All this sound excelent, but how with for example TouchGFX generated project. Here exist IAR KEIL IDE gcc folders, but is real import this here? For me edit mode only for GUI files is perfect.