# 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   |
|                    | Odin Shen, Arm         |

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

| Tags:              |                        |
|--------------------|------------------------|
|                    | [RTOS Fundamentals](https://learn.arm.com/tag/rtos-fundamentals) |
|                    | [RTOS](https://learn.arm.com/tag/rtos)     |
|                    | [Zephyr](https://learn.arm.com/tag/zephyr) |
|                    | [C](https://learn.arm.com/tag/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?
After completing this Learning Path, you'll be able to perform the following tasks:

- 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'll need the following prerequisites:

- 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.
