Skip to content

Commit df48353

Browse files
Refactor documentation for Zephyr Workbench, enhancing clarity and consistency across installation, development, and debugging sections.
1 parent 8b67824 commit df48353

4 files changed

Lines changed: 46 additions & 44 deletions

File tree

content/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/1_installation.md

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ layout: learningpathall
1010

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

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

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

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

19-
## What you need before installing Workbench for Zephyr
19+
## Install dependencies
2020

2121
To get started with Workbench for Zephyr you need to have Visual Studio Code downloaded, installed, and running on your computer.
2222

@@ -32,7 +32,7 @@ On MacOS, the Homebrew package manager is required. To install Homebrew, run the
3232

3333
**Linux:**
3434
- 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
3636
- After installation, use the Workbench host tools manager to verify that all required tools were installed correctly
3737

3838

@@ -42,57 +42,61 @@ Zephyr Workbench supports STM32 development boards (STM32 Discovery, Nucleo seri
4242

4343
This section covers installing the Zephyr Workbench extension and configuring your Arm development environment.
4444

45-
### Install the extension
45+
### Install the Workbench for Zephyr extension
4646

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

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

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

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

5755
### Install the required host tools
5856

5957
In the Workbench for Zephyr panel, select **Install Host Tools** to automatically install the required dependencies.
6058

6159
This process installs Python 3.x, CMake, the Ninja build system, Git, Device Tree Compiler (DTC), and the West meta-tool.
6260

63-
![Install Host Tools #center](images/install_host_tools.png)
61+
![Workbench for Zephyr extension panel in Visual Studio Code showing the Install Host Tools button highlighted. The panel lists required tools such as Python, CMake, Ninja, Git, and Device Tree Compiler. The environment is a modern code editor interface with a sidebar and clear labels. The tone is instructional and welcoming. Visible text includes Install Host Tools and a checklist of dependencies to be installed. alt-text#center](images/install_host_tools.png "Workbench for Zephyr extension panel")
6462

6563
{{% 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.
6870

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

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

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

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

77-
Specify the parent directory for SDK installation and select **Import** to download and install the SDK.
7882

79-
![Import Toolchain #center](images/import_toolchain.png)
83+
![Workbench for Zephyr Import Toolchain panel in Visual Studio Code. The panel displays options for selecting the toolchain family, SDK type, version, and target architectures. Visible text includes Import Toolchain, Zephyr SDK, Minimal, v0.17.0, v0.17.3, and arm. The interface is organized and user-friendly, with clearly labeled dropdown menus and buttons. The overall tone is instructional and welcoming, set within a modern code editor workspace.](images/import_toolchain.png "Workbench for Zephyr Import Toolchain panel")
8084

8185

8286
### Initialize the Zephyr project workspace
8387

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

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

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

9094
Select **Import** to create and update the workspace.
9195

92-
![Initialize West Workspace #center](images/initialize_workspace.png)
96+
![Workbench for Zephyr Initialize Workspace panel in Visual Studio Code. The panel displays options for setting up a new West workspace, including fields for source location, template selection, Zephyr version, and workspace directory. Visible text includes Initialize Workspace, Minimal from template, https://github.com/zephyrproject-rtos/zephyr, STM32, NXP, v3.7.0, v4.1.0, and Import. The interface is organized and user-friendly, with dropdown menus and buttons clearly labeled. The overall tone is instructional and welcoming, set within a modern code editor workspace. alt-text#center](images/initialize_workspace.png "Workbench for Zephyr Initialize Workspace panel in Visual Studio Code.")
9397

9498
{{% 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.
96100
{{% /notice %}}
97101

98102
### Verify setup

content/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/2_development.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ In the Zephyr Workbench panel:
2626
- Select a sample app (for example, `hello_world`)
2727
- Provide a project name
2828

29-
![Create App](images/create_app.png)
29+
![Zephyr Workbench Create New Application panel in VS Code showing workspace selection SDK version target board dropdown sample application selection and project name fields. The interface is clean and organized with clear labels and buttons. The wider VS Code environment is visible in the background with a neutral and professional tone. All text in the panel is legible and guides the user through creating a new Zephyr application.](images/create_app.png "Zephyr Workbench Create New Application panel")
3030

3131
### Build the application
3232

3333
Select the **Build** button in Workbench for Zephyr or press `Ctrl+Shift+B`.
3434

3535
The build system compiles your application and links it against the Zephyr kernel and board-specific drivers.
3636

37-
![Build Application](images/build_application.png)
37+
![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]
3838

3939
### Install board-specific debug utilities
4040

@@ -83,4 +83,4 @@ int main(void)
8383
8484
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.
8585
86-
With your first Zephyr application successfully built, you're ready to take the next stepdebugging. 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.

content/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/3_debug.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,28 @@ layout: learningpathall
88

99
## Analyze and debug Zephyr applications in VS Code
1010

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

1313
## Analyze memory usage
1414

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

1717
### Generate memory reports
1818

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

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

23-
The following steps show how to generate and review memory reports:
23+
Follow these steps to generate and review memory reports:
2424

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

3234
![Memory Analysis](images/memory_analysis.png)
3335

@@ -189,7 +191,7 @@ The ELF executable path is auto-filled after build. You can optionally add a **C
189191
### Debug server
190192
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.
191193

192-
![Debug Manager](images/debug_manager.png)
194+
![Debug Manager panel in Workbench for Zephyr showing a list of connected debug runners and configuration options. The interface displays fields for selecting the runner executable path, board profile, and status indicators for each tool. The environment is a VS Code window with the Zephyr Workbench sidebar open. The tone is technical and neutral. Visible text includes Debug Manager, Runner Path, Board Profile, and status labels for detected runners.](images/debug_manager.png "Debug Manager panel in Workbench for Zephyr")
193195

194196
### Manual debug runner configuration
195197

@@ -203,7 +205,7 @@ Manual configuration might be required on first-time setups or if using custom r
203205

204206
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**.
205207

206-
![Debug Application](images/debug_app.png)
208+
![VS Code window displaying the Zephyr Workbench Debug Application panel. The main subject is the debug interface showing active debugging controls, breakpoints, and variable watch windows. The environment is a technical workspace with the Zephyr Workbench sidebar open in Visual Studio Code. Visible text includes Debug Application, Breakpoints, Variables, and Call Stack. The tone is neutral and focused on software development tasks.](images/debug_app.png "VS Code window displaying the Zephyr Workbench Debug Application panel.")
207209

208210
### Debug toolbar controls
209211

content/learning-paths/embedded-and-microcontrollers/zephyr_vsworkbench/_index.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
---
22
title: Build Zephyr projects with Workbench for Zephyr in VS Code
33

4-
draft: true
5-
cascade:
6-
draft: true
7-
84
minutes_to_complete: 30
95

106
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:
1814

1915
prerequisites:
2016
- Basic familiarity with embedded C programming
21-
- Visual Studio Code installed and running
17+
- Visual Studio Code
2218
- A Cortex-M development board
2319
- Windows 10+ (64-bit), macOS with Homebrew, or Linux (preferably Ubuntu 20.04+)
2420

0 commit comments

Comments
 (0)