Home >

Using Visual Studio Code for Embedded Development

Marc Goodner- Watch Now - Duration: 27:19

Using Visual Studio Code for Embedded Development
Marc Goodner

Every silicon vendor seems to have their own IDE. They often have desirable diagnostic capabilities but are lacking in terms of a modern editing experience and are tightly coupled with specialized compilers.

What if you would prefer to use Visual Studio Code instead? How can you get your embedded compilers working in that environment? Will you have the diagnostic capabilities you need? If you get things working there will that extend to your CI system? This talk will help you answer those questions:

  • Getting your compiler working
  • Deploying and debugging your firmware
  • Using embedded diagnostic capabilities like RTOS and peripheral views
  • Importing IAR and STM32 projects
  • Using GitHub Actions and CodeQL for embedded projects
M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

Josan
Score: 0 | 2 months ago | 1 reply

Major advantages respect ST tools?

Marc GoodnerSpeaker
Score: 0 | 2 months ago | no reply

C++ IntelliSense, the engine in VS Code is the same one in Visual Studio. The debug experience is better in a lot of ways for core stepping and the like, but the ST tools are going to have more capabilities around tracing today. The other advantage is VS Code is not just for C++ and embedded. If you also use Python or other languages the extensions in VS Code are great, so you can stick to a single developer environment. The extension ecosystem is fantastic as well for VS Code, lots of tools for related tasks like markdown, csv, etc.

dcomer
Score: 0 | 2 months ago | 1 reply

The one drawback I see is the lack of support for the macOS. ST supports macOS, Microsoft supports macOS (VSCode), and Linux. Is the issue vcpkg? Is Microsoft going to support embedded developers on macOS? I would love to try this with the RaspberryPI PICO as well as the TI product line.
Thanks.

Marc GoodnerSpeaker
Score: 0 | 2 months ago | no reply

macOS is supported, apologies for not highlighting that. I have some notes on using the Pico here: https://github.com/robotdad/piconotes

jackkc7vlo
Score: 1 | 2 months ago | 1 reply

I'd love to see a start from scratch demo of bringing up a simple MCU, meaning no project import, or some something with an existing MCU. There are huge amounts of MCUs out there and to make VS code practical, we need to be able to use them. For example, start by installing the embedded tools, creating a project, defining the MCU, getting the svd file, etc. Theres a little too much magic going on here that makes it a barrier to entry. Either that or you need imports from all the other IDEs such as Keil, Simplicity Studio, etc.

Marc GoodnerSpeaker
Score: 0 | 2 months ago | no reply

Thanks for the feedback, I see where you are coming from on this. In the new year I'll work on some content that starts from initial tool setup before moving into VS Code. One resource I can point you at now is this repository that is based on an MCUEclipse article that walks through the initial setup as you propose for an NXP target using Eclipse. The repo below is also configured for VS Code, VS, and should work with CLion (or Eclipse).
https://github.com/robotdad/LPC55S69_CMake_Template

gordonmx
Score: 0 | 2 months ago | no reply

Thanks

gordonmx
Score: 0 | 2 months ago | no reply

Thanks