cancel
Showing results for 
Search instead for 
Did you mean: 

New STM32Cube for Visual Studio Code extenstion released (3.4.11)

Nawres GHARBI
ST Employee

 

 stm32.pngvscode.jfif

We are pleased to announce the new  STM32Cube for Visual Studio Code Extension Pack

 

The st-cube-code-pack extension for Visual Studio Code is designed to enhance the development experience for STM32 microcontrollers by providing a comprehensive and updatable set of tools. The *extension pack* allow users to install one single pack bringing a full STM32 IDE experience into VS Code.

 

Breaking Changes

  • Complete architecture redesign: The tool architecture has been split into three major building blocks with the purpose of creating a flexible, maintainable and updatable platform consisting of the following blocks: GUI, CLI tools and STM32 device support.
  • GUI: The platform's single extension has been transformed into an extension pack, offering a more modular, maintainable and flexible setup.
  • CLI tools: A new bundle manager is enabling VS Code to download required CLI tools. This replaces the all-in-one STM32CubeCLT package. The bundle manager will provide developers flexibility, updatability and re-producibility in terms of CLI tooling.
  • STM32 device support: The STM32 device support is decoupled from VS Code and sourced via CMSIS-PACK DFPs. Developers can now start using a new MCU without having to install a new STM32CubeCLT package.
  • Enhanced Debugging: A new, rich debugging experience is now available, leveraging a brand new STMicroelectronics-owned DAP (Debug Adapter Protocol) implementation, supporting both ST-LINK and SEGGER J-Link debug probes.
  • Clangd Integration: The update now relies on `clangd` for managing C/C++ code indexing, enhancing code navigation and analysis capabilities.
  • Auto-Discovery of STM32Cube Projects: This feature automatically detects STM32Cube projects, streamlining the setup and configuration process.

 

Pre-release (New!)

This release represents a major advancement in delivering a comprehensive and efficient VS Code-based development environment for STM32 microcontroller projects. ST is offering this version as a pre-release to set appropriate expectations. It introduces a new platform architecture that will serve as the basis for the evolving STM32Cube for VS Code environment. As with any innovative tool, it will undergo a maturation process. 

 

 Features

  • Project Creation Modes: Two distinct modes for project creation are supported, offering flexibility in development workflows:
    • STM32CubeMX Projects: Supports project creation with integrated CMake, enabling streamlined configuration and management.
    • Empty Projects: Allows for the creation of bare projects with CMake, providing a clean slate for custom development.
  • Build Analysis Solution: A new build analysis solution has been integrated, offering insights into build performance and optimization opportunities.
  • Board manager: The board manager view allows developers to show the ST-LINK serial number and update the ST-LINK firmware.
  • Enhanced RTOS debug: The existing open-source debug views have been complemented with two additional tree views showing additional kernel objects as well as the full call stack for all RTOS threads. Supported RTOSes are FreeRTOS and ThreadX.
  • Bundle Manager View: A dedicated view for managing bundles has been introduced, simplifying the management of project tool dependencies.
  • Cube CLI Command: The `cube` CLI command is now available, providing efficient tool management through command-line operations.

 

Documentation

The STM32Cube for VS Code extension offers a wealth of resources directly accessible within your integrated development environment. By installing the extension pack, you gain access to the "STM32Cube Resources" section, which is a centralized hub for valuable information which includes:

- Manuals: Comprehensive documentation that covers various aspects of STM32 development. These manuals provide detailed insights into the functionalities and features of STM32 microcontrollers, helping you understand the hardware and software integration.

- Tutorials: Step-by-step guides designed to assist both beginners and experienced developers. These tutorials cover a wide range of topics, from basic setup and configuration to advanced programming techniques, ensuring you have the guidance needed to effectively utilize STM32Cube tools.

 

Feedback & Support

If you need assistance or have any questions regarding STM32 for VS Code, support is readily available. You can access a wide range of resources and get help from the STMicroelectronics support team. Additionally, your feedback is valuable to us and helps improve the STM32 for VS Code extension. If you have any suggestions, issues, or comments, we encourage you to share them with the community.

- Feedback: To give feedback and participate in discussions, visit the [STM32 VS Code Extension Forum.](https://community.st.com/t5/stm32-vscode-extension-mcus/bd-p/stm32-vscode-extension-mcus)

- Community and ST expert help: To get help through our community and our ST experts on our forum, visit the [STM32 VS Code Extension Forum.](https://community.st.com/t5/stm32-vscode-extension-mcus/bd-p/stm32-vscode-extension-mcus)

- ST Support Home: For more information about getting support, visit the [STMicroelectronics Support Home.](https://www.st.com/content/st_com/en/support/support-home.html)

 

Download

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

 

9 REPLIES 9
FluxPower42
Associate II

Hi ST-Team,

STM32CubeMx is installed.
NUCLEO-H743ZI2 Project is running with VisualStudio VisualGDB.
=> Packs and other stuff should be available on the local disk.

I try to get running the new STM32 developing and debugging with VSCode.
For that I uninstall all Extensions in VSCode.
After that I installed the "STM32Cube for Visual Studio Code" pre-release v3.4.11 including restart of the Win11 PC.

Following the documentation stmicroelectronics.stm32cube-ide-core-0.16.16/resources/userguide/en/docs/markup/development.html
I try to setup an empty project.

Unfotunately I get following Error:

"Failed to create empty project with following error: Error: Installing [STMicroelectronics.stm32h7xx_dfp.1.0.0] into C:/Users/tengelmann/AppData/Local/stm32cube/packs Checking pidx https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx... (1/1) Failed to download with request to https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx failed, reason: self-signed certificate in certificate chain, retrying... Failed to download with request to https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx failed, reason: self-signed certificate in certificate chain, retrying... Failed to download with request to https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx failed, reason: self-signed certificate in certificate chain, retrying... Failed to download with request to https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx failed, reason: self-signed certificate in certificate chain, retryi..."

Maybe it is a issue with proxy or such stuff. Is it possible to download the nedded files manualy?

Best regards,
Timo

Nawres GHARBI
ST Employee

Hi @FluxPower42 

yes I confirm this a proxy issue, did you try to setup your proxy credentials in VSCode ?

Please use this form to introduce your proxy settings: 

http://user:pass@proxyAdress:port

For Special carac if you have in your password use the hex code with %​ example “#” becomes “%23”

Hi @FluxPower42,

It looks to be an SSL chain verification issue by contacting https://developer.st.com/***

Are you behind a corporate proxy doing SSL inspection ? If not are you able to access https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx in your browser ?

Thanks alot!

Is it possible to use this extension version offline? 

FluxPower42
Associate II

Hi @Nawres GHARBI and @Julien D,

thanks for the very fast response! 

I have tried some proxy settings from my company. But unfortunately without success.
I can open the https://developer.st.com/st-pack-server/api/v1/pidx/STMicroelectronics.pidx in the Simple Browser of VScode:

FluxPower42_3-1747299991114.png

So now I'm not sure anymore if that is a proxy issue.

I have tested with "Settings/Extensions/STM32Cube for Visual Studio Code Dore/Enable Offline Mode = true" too, but without success.

Questions:

  • Use the STM32Cube Extension the same proxy settings as VSCode under "Settings/Application/Proxy"?
  • Is there a way to try it in a offline mode?

 

STM32CubeMx - behavior
I don't know if it is helpful for this topic:
The SMT32CubeMx is installed at c:\ST\STM32CubeMX\.
This path is also used in the VSCode STM32Cube Extension settings.
When I try to download a new MCU package in STM32CubeMx (in this case STM32G4, as the H7 is still installed), I get the following error:

FluxPower42_0-1747299206706.png

But when I try a second time, the download goes one step further, but gets stuck here:

FluxPower42_2-1747299839512.png

and after a few seconds it fails again:

FluxPower42_1-1747299527512.png

It seems that the download is finished, but then something goes wrong. Maybe the unpacking process?
This way it is not possible to install the latest G4 1.6.1 MCU package even if I try several times.
But the G4 1.6.0 package can be installed.

For STM32F4 MCU packages, it is possible to install 1.28.0 on the first attempt, 1.28.1 after the second attempt and v1.28.2 after several attempts.
Ist there maybe a timeout value to short?
I don't have configured additional proxy settings in SMT32CubeMx and if I test the different company settings the behavior is the same.

The internet connection is stable and 700MBit/s should be not too slow.

Yours sincerely, Timo

 

@Julien D 

It looks to be an SSL chain verification issue by contacting https://developer.st.com/***

Yes, my company uses an external service to protect internet communication.
Besides the issue with STM32CubeMx and now the new issue with STM32Cube Extension for VSCode, all other tools are working.

Do you have any idea what I can do?


@FluxPower42 wrote:

Yes, my company uses an external service to protect internet communication.
Besides the issue with STM32CubeMx and now the new issue with STM32Cube Extension for VSCode, all other tools are working.

Do you have any idea what I can do?


I encourage you to use the NODE_EXTRA_CA_CERTS variable at system level to point to a CAs bundle file valid for your network configuration.

What is surprising here is that the Simple Browser works while command-line tools spawn by VSCode don't.

FluxPower42
Associate II

Hi @Nawres GHARBI and @Julien D,

thanks for the hint regarding the certificates.
After testing a bit by using the NODE_EXTRA_CA_CERTS environment variable along with the “Node Extra CA Certs VSCode” extension and other tipps from the internet, I found this post on stackoverflow.com: https://stackoverflow.com/a/62386079

Quote:
"First, make sure that the certificates are imported into your OS and trusted (I have them in the System category).
Then, go into VScode settings, Application, Proxy, and UNCHECK the "System certificates" option. Restart vscode and RE-CHECK it. Restart again, and it works. That's it."

It seems that this triggers the copy of the system certificates in VSCode again.
For me, that was the solution.


There is another post on the same page on stackoverflow:
https://stackoverflow.com/a/78003445

 Quote:
"Assuming your corporate self signed cert is trusted by your OS, you can now configure VS Code to use the OS cert. Launch VS Code, go to File > Preferences > Settings > Search for "certificates" and check the box for Http > Experimental: System Certificates V2 "x Controls whether experimental loading of CA certificates from the OS should be enabled."

Maybe that helps, but after updating the certificates, I can't get the same error anymore.

Thanks again! Great support!
Best regards Timo
 

FluxPower42
Associate II

Just as an aside, maybe it will help another user.
Regarding the simple browser:
I thought that the simple browser was a good tool to check if the network access is working correctly. I no longer think so.
Even after updating the certificates, some pages don't work in Simple Browser (https://www.st.com/) and others do (https://en.wikipedia.org/).
It seems to be somehow related to the iframes.