You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/1_installation.md
+28-24Lines changed: 28 additions & 24 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,13 +10,13 @@ layout: learningpathall
10
10
11
11
Setting up a [Zephyr](https://zephyrproject.org/) RTOS development environment from scratch can be challenging, requiring you to manually install SDKs, configure toolchains, and initialize workspace directories. These steps often vary across operating systems and board vendors, leading to a fragmented and error-prone setup process.
12
12
13
-
[Workbench for Zephyr](https://zephyr-workbench.com/) is an open-source Visual Studio Code [extension](https://marketplace.visualstudio.com/items?itemName=Ac6.zephyr-workbench) that transforms Zephyr RTOS development into a streamlined IDE experience. Created by [Ac6](https://www.ac6.fr/en/), it automates toolchain setup, project management, and debugging, making Zephyr projects faster to start and easier to scale.
13
+
[Workbench for Zephyr](https://zephyr-workbench.com/) is an open-source [Visual Studio Code extension](https://marketplace.visualstudio.com/items?itemName=Ac6.zephyr-workbench) that transforms Zephyr RTOS development into a streamlined IDE experience. Created by [Ac6](https://www.ac6.fr/en/), it automates toolchain setup, project management, and debugging, making Zephyr projects faster to start and easier to scale.
14
14
15
-
In this Learning Path, you'll learn the essential steps to install Workbench for Zephyr and configure a complete development environment on your local machine. Once complete, you'll be ready to create, build, and debug applications for Arm Cortex-M platforms using Zephyr RTOS.
15
+
In this Learning Path, you'll follow clear steps to install Workbench for Zephyr and set up a full development environment on your computer. By the end, you'll be able to create, build, and debug applications for Arm Cortex-M boards using Zephyr RTOS.
16
16
17
-
Workbench for Zephyr provides one-click environment setup that automatically installs the required tools including Python, CMake, Ninja, and Git. It supports importing and managing Zephyr SDKs with version and architecture selection, while initializing west workspaces and creating board-specific applications from samples. The extension builds Zephyr applications and flashes hardware directly from the VS Code interface. It also provides breakpoint debugging and memory usage insights with hardware probe support.
17
+
Workbench for Zephyr makes it easy to set up your development environment with a single click. It automatically installs all the tools you need, such as Python, CMake, Ninja, and Git. You can import and manage different versions of the Zephyr SDK, choose the right architecture, and quickly initialize west workspaces. The extension lets you create board-specific applications from sample projects, build and flash them to your hardware, and debug your code, all within Visual Studio Code. You also get features like breakpoint debugging and memory usage insights when using a supported hardware probe.
18
18
19
-
## What you need before installing Workbench for Zephyr
19
+
## Install dependencies
20
20
21
21
To get started with Workbench for Zephyr you need to have Visual Studio Code downloaded, installed, and running on your computer.
22
22
@@ -32,7 +32,7 @@ On MacOS, the Homebrew package manager is required. To install Homebrew, run the
32
32
33
33
**Linux:**
34
34
- A recent 64-bit X64 distribution such as Ubuntu 20.04 or later, Fedora, Clear Linux OS, or Arch Linux
35
-
- Other distributions might work, but may require manual configuration of system packages
35
+
- Other distributions might work, but might require manual configuration of system packages
36
36
- After installation, use the Workbench host tools manager to verify that all required tools were installed correctly
37
37
38
38
@@ -42,57 +42,61 @@ Zephyr Workbench supports STM32 development boards (STM32 Discovery, Nucleo seri
42
42
43
43
This section covers installing the Zephyr Workbench extension and configuring your Arm development environment.
44
44
45
-
### Install the extension
45
+
### Install the Workbench for Zephyr extension
46
46
47
-
To install the Workbench for Zephyr extension, open Visual Studio Code and navigate to the Extensions view by selecting the Extensions icon in the Activity Bar.
47
+
To install the Workbench for Zephyr extension, open Visual Studio Code. In the Activity Bar, select the **Extensions** icon to open the Extensions view.
48
48
49
-
You can also use the keyboard shortcut `Ctrl+Shift+X`(Windows/Linux) or `Cmd+Shift+X`(macOS).
49
+
You can also use the keyboard shortcut `Ctrl+Shift+X`on Windows or Linux, or `Cmd+Shift+X`on macOS.
50
50
51
-
In the search box, type "Workbench for Zephyr" and locate the official "Workbench for Workbench" extension by Ac6. Select **Install** to add the extension to VS Code.
51
+
In the search box, enter **Workbench for Zephyr**. Locate the official extension by Ac6 and select **Install**.
52
52
53
-
The extension icon appears in the Activity Bar, and a welcome message may appear confirming successful installation.
54
-
55
-
Once installed, the Workbench for Zephyr icon appears in the sidebar with a welcome screen.
53
+
After installation, the Workbench for Zephyr icon appears in the Activity Bar. A welcome screen confirms that the extension is ready to use.
56
54
57
55
### Install the required host tools
58
56
59
57
In the Workbench for Zephyr panel, select **Install Host Tools** to automatically install the required dependencies.
60
58
61
59
This process installs Python 3.x, CMake, the Ninja build system, Git, Device Tree Compiler (DTC), and the West meta-tool.

64
62
65
63
{{% notice Note %}}
66
-
On Windows, you may be prompted for permission when tools are executed. Select "Allow" when requested.
67
-
{{% /notice %}}
64
+
On Windows, you might see permission prompts when Workbench for Zephyr installs or runs tools. Select **Allow** to continue with the setup.
65
+
66
+
When the installation completes, select **Verify Host Tools** to confirm that each required package is installed and up to date. The panel displays the version and status for Python, CMake, Ninja, Git, and Device Tree Compiler. If any tool is missing or out of date, follow the prompts to resolve the issue before continuing.
67
+
### Import and configure the Zephyr toolchain
68
+
69
+
To build and debug Zephyr applications for Arm Cortex-M boards, you need to import and configure the Zephyr toolchain using Workbench for Zephyr.
68
70
69
-
When the installation completes, select **Verify Host Tools** to check the version of each installed package.
71
+
In the Workbench for Zephyr panel, select **Import Toolchain**. This opens a guided setup panel.
70
72
71
-
### Import and configure the toolchain
73
+
- For **Toolchain Family**, select *Zephyr SDK*.
74
+
- For **SDK Type**, choose *Minimal* to install only the essential components.
75
+
- For **Version**, pick the Zephyr SDK release you want to use, such as v0.17.0 or v0.17.3.
76
+
- For **Target Architectures**, select *arm* to target Arm-based boards.
72
77
73
-
Next, download and configure the toolchain by selecting **Import Toolchain**in the Workbench for Zephyr panel. Select the toolchain family (*Zephyr SDK*) and configure the SDK Type by choosing *Minimal* for basic functionality.
78
+
Next, specify the directory where you want to install the SDK. Select **Import**to start the download and installation process. When the import completes, the panel displays a confirmation that the toolchain is ready.
74
79
75
-
Select your desired version (such as v0.17.0 or v0.17.3) and choose the target architectures. For this Learning Path, you only need to select *arm*.
80
+
If you see errors during import, check your internet connection and confirm you have at least 2 GB of free disk space. For more troubleshooting tips, review the extension's documentation or check the Visual Studio Code output panel.
76
81
77
-
Specify the parent directory for SDK installation and select **Import** to download and install the SDK.

80
84
81
85
82
86
### Initialize the Zephyr project workspace
83
87
84
88
Zephyr uses a Git-based workspace manager called West to organize its source code, modules, and samples. Use Workbench for Zephyr to initialize your first West workspace.
85
89
86
-
In the Workbench for Zephyr panel, select **Initialize Workspace** to set up your project environment. Configure the workspace settings by selecting "Minimal from template" for the source location and using the default path `https://github.com/zephyrproject-rtos/zephyr`.
90
+
In the Workbench for Zephyr panel, select **Initialize Workspace** to set up your project environment. Configure the workspace settings by selecting **Minimal from template** for the source location and using the default path `https://github.com/zephyrproject-rtos/zephyr`.
87
91
88
92
Choose a target-specific template (such as STM32 or NXP) and select your Zephyr version (such as v3.7.0 or v4.1.0). Specify the directory for your workspace, keeping in mind that initialization takes approximately 10 minutes to complete.
89
93
90
94
Select **Import** to create and update the workspace.
91
95
92
-

96
+

93
97
94
98
{{% notice Note %}}
95
-
The workspace initialization downloads the Zephyr source code and dependencies. This process may take several minutes depending on your internet connection speed.
99
+
The workspace initialization downloads the Zephyr source code and dependencies. This process can take several minutes depending on your internet connection speed.
Copy file name to clipboardExpand all lines: content/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/2_development.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,15 +26,15 @@ In the Zephyr Workbench panel:
26
26
- Select a sample app (for example, `hello_world`)
27
27
- Provide a project name
28
28
29
-

29
+

30
30
31
31
### Build the application
32
32
33
33
Select the **Build** button in Workbench for Zephyr or press `Ctrl+Shift+B`.
34
34
35
35
The build system compiles your application and links it against the Zephyr kernel and board-specific drivers.
![VS Code Zephyr Workbench build application panel showing workspace selection, SDK version, target board dropdown, sample application selection, and project name fields. The primary subject is the Zephyr Workbench interface guiding users through building a Zephyr application. Visible text includes labels such as Workspace, SDK, Target Board, Sample Application, and Project Name, with buttons for Create New Application and Build. The wider VS Code environment is visible in the background, presenting a clean and organized workspace with a neutral, professional tone. alt-text#center]
38
38
39
39
### Install board-specific debug utilities
40
40
@@ -83,4 +83,4 @@ int main(void)
83
83
84
84
Now that the app works, try editing the message in `printk()` or changing the board target in the application settings. Then rebuild and observe the output. This helps verify that your toolchain and workspace respond correctly to code and config changes.
85
85
86
-
With your first Zephyr application successfully built, you're ready to take the next step—debugging. In the next module, you'll launch a debug session, set breakpoints, and perform memory analysis using Workbench for Zephyr. These skills help you validate and optimize applications running on real Arm Cortex-M hardware.
86
+
With your first Zephyr application successfully built, you're ready to take the next step, which is debugging. In the next module, you'll launch a debug session, set breakpoints, and perform memory analysis using Workbench for Zephyr. These skills help you validate and optimize applications running on real Arm Cortex-M hardware.
Copy file name to clipboardExpand all lines: content/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/3_debug.md
+14-12Lines changed: 14 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,26 +8,28 @@ layout: learningpathall
8
8
9
9
## Analyze and debug Zephyr applications in VS Code
10
10
11
-
In this module, you'll learn how to inspect memory usage and perform live debugging on your Zephyr applications using Workbench for Zephyr. These capabilities are essential for diagnosing bugs and optimizing embedded firmware performance on Arm Cortex-M platforms.
11
+
In this section, you'll learn how to inspect memory usage and perform live debugging on your Zephyr applications using Workbench for Zephyr. These capabilities are essential for diagnosing bugs and optimizing embedded firmware performance on Arm Cortex-M platforms.
12
12
13
13
## Analyze memory usage
14
14
15
15
Understanding how your application uses memory is crucial for optimizing embedded firmware on resource-constrained Arm Cortex-M systems. Workbench for Zephyr provides built-in tools to generate detailed memory usage reports after a successful build, helping you identify ROM and RAM consumption hotspots early in development.
16
16
17
17
### Generate memory reports
18
18
19
-
After building your Zephyr application, analyze how memory is allocated and used. Workbench for Zephyr offers built-in memory reporting tools that help you visualize RAM and ROM usage, identify inefficient memory patterns, and guide optimization efforts. These insights are especially useful when working with constrained Arm Cortex-M platforms.
19
+
After building your Zephyr application, you can analyze how memory is allocated and used. Workbench for Zephyr offers built-in memory reporting tools that help you visualize RAM and ROM usage, identify inefficient memory patterns, and guide optimization efforts. These insights are especially useful when working with constrained Arm Cortex-M platforms.
20
20
21
-
To generate memory reports, open the **Zephyr Workbench** panel and select **Memory Analysis** after a successful build. The tool generates detailed reports showing RAM usage (stack, heap, static variables), ROM usage (code size, constants), and **Puncover**analysis for binary analysis including function size, call graphs, and timing on Arm Cortex-M processors.
21
+
To generate memory reports, open the **Workbench for Zephyr** panel and select **Memory Analysis** after building your application. This tool provides detailed insights into RAM usage (including stack, heap, and static variables), ROM usage (such as code size and constants), and integrates **Puncover** for advanced binary analysis. With Puncover, you can visualize function sizes, call graphs, and timing information specific to Arm Cortex-M processors.
22
22
23
-
The following steps show how to generate and review memory reports:
23
+
Follow these steps to generate and review memory reports:
24
24
25
-
- Open the **Workbench for Zephyr** panel
26
-
- Select **Memory Analysis** after a successful build
27
-
- Review detailed memory reports:
28
-
-**RAM usage**: stack, heap, static variables
29
-
-**ROM usage**: code size, constants
30
-
-**Puncover**: binary analysis for function size, call graphs, and timing on Arm Cortex-M
25
+
1. Open the **Workbench for Zephyr** panel.
26
+
2. Select **Memory Analysis** after a successful build.
27
+
3. Review the generated reports:
28
+
-**RAM usage**: View stack, heap, and static variable allocation.
29
+
-**ROM usage**: Examine code size and constant data.
30
+
-**Puncover analysis**: Explore function sizes, call graphs, and timing metrics for your Arm Cortex-M application.
31
+
32
+
These insights help you identify memory bottlenecks and optimize your embedded firmware for Arm platforms.
31
33
32
34

33
35
@@ -189,7 +191,7 @@ The ELF executable path is auto-filled after build. You can optionally add a **C
189
191
### Debug server
190
192
Choose the runner from OpenOCD, J-Link, LinkServer, or PyOCD. If the system doesn't detect your runner automatically, enter the runner path manually. Select **Apply** to save your settings or launch debug directly.
191
193
192
-

194
+

193
195
194
196
### Manual debug runner configuration
195
197
@@ -203,7 +205,7 @@ Manual configuration might be required on first-time setups or if using custom r
203
205
204
206
You can start debugging from Workbench for Zephyr by selecting **Debug**, or from VS Code by going to **Run and Debug** (`Ctrl+Shift+D`), selecting the debug config, and selecting **Run**.
205
207
206
-

208
+

Copy file name to clipboardExpand all lines: content/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/_index.md
+1-5Lines changed: 1 addition & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,6 @@
1
1
---
2
2
title: Build Zephyr projects with Workbench for Zephyr in VS Code
3
3
4
-
draft: true
5
-
cascade:
6
-
draft: true
7
-
8
4
minutes_to_complete: 30
9
5
10
6
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.
@@ -18,7 +14,7 @@ learning_objectives:
18
14
19
15
prerequisites:
20
16
- Basic familiarity with embedded C programming
21
-
- Visual Studio Code installed and running
17
+
- Visual Studio Code
22
18
- A Cortex-M development board
23
19
- Windows 10+ (64-bit), macOS with Homebrew, or Linux (preferably Ubuntu 20.04+)
0 commit comments