# Build Zephyr projects with Workbench for Zephyr in VS Code

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/)
- [Set up the Workbench for Zephyr development environment](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/1_installation/)
- [Build a Zephyr application with Workbench for Zephyr](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/2_development/)
- [Analyze and debug a Zephyr application](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/3_debug/)
- [Next Steps](https://learn.arm.com/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/_next-steps/)

## About this Learning Path

| Skill level:       | Introductory         |
|-------------------|---------------------|
| Reading time:     | 30 min              |
| Last updated:     | 14 Aug 2026         |

| Authors:                               |
|----------------------------------------|
| Ayoub Bourjilat, Ac6 [GitHub](https://github.com/Bourjilat) [LinkedIn](https://linkedin.com/in/ayoub-bourjilat-a55b58165/) [AC6](https://www.ac6.fr/en/) <br/> Odin Shen, Arm [GitHub](https://github.com/odincodeshen) [LinkedIn](https://linkedin.com/in/odin-shen-lmshen) |

| Arm IP:                    | [Cortex-M](https://support.arm.com/?tab=compute-ip&Product%20Type=Microcontrollers) |
|----------------------------|-------------------------------------------|
| Tags:                      | RTOS Fundamentals, RTOS, Zephyr, C      |

### Who is this for?
This is an introductory topic for embedded developers targeting Arm-based platforms with the Zephyr RTOS using the Workbench for Zephyr extension for VS Code.

### What will you learn?
Upon completion of this Learning Path, you will be able to:
- Install and configure the Workbench for Zephyr extension in VS Code
- Set up a complete Zephyr development environment including the SDK and toolchain
- Create, build, and debug Zephyr applications using hands-on examples
- Perform memory usage analysis and apply basic optimization techniques
- Apply essential debugging workflows for embedded systems

### Prerequisites
Before starting, you will need the following:
- Basic familiarity with embedded C programming
- Visual Studio Code
- A Cortex-M development board
- Windows 10+ (64-bit), macOS with Homebrew, or Linux (preferably Ubuntu 20.04+)

### Summary
You’ll use Workbench for Zephyr in Visual Studio Code to set up a Zephyr RTOS environment and build firmware for an Arm Cortex-M board. First, you’ll select a supported board and debug runner. Then, you’ll build the project, inspect memory-usage reports, set breakpoints, and step through code to verify the target’s behavior.

### Frequently asked questions
#### How do I know I installed the Workbench for Zephyr extension correctly?
The setup is correct if the extension completes SDK and toolchain configuration and you can create and build a Zephyr application without errors. A memory usage report generated after the build is another good confirmation.

#### Which board should I select when creating the project?
Choose your Zephyr-supported Arm Cortex-M board. NXP FRDM-MCXN947 is used as an example, and you can confirm other options in the [Zephyr Supported Boards list](https://docs.zephyrproject.org/latest/boards/#).

#### Where do I configure a debug runner that Workbench for Zephyr doesn't detect?
Open the **Debug Manager** from the sidebar, locate your board profile, and enter the full path to the runner executable.

#### What result should I expect after a successful build?
Expect build artifacts for your application and a generated memory usage report from Workbench for Zephyr. These outputs indicate the project is ready for debugging on the selected board.

#### How do I open the memory reports after a successful build?
In the **Workbench for Zephyr** panel, select **Memory Analysis**. You can then review RAM usage, ROM usage, and **Puncover** analysis.
