Skip to content

Commit f9a48e1

Browse files
Merge pull request #2512 from jasonrandrews/review
Initial review of Zephyr Workbench Learning Path
2 parents a9ca570 + c386534 commit f9a48e1

File tree

4 files changed

+117
-187
lines changed

4 files changed

+117
-187
lines changed
Lines changed: 46 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -1,154 +1,101 @@
11
---
2-
title: Install and Setup Zephyr Workbench in VS Code
2+
title: Install and configure Zephyr Workbench in VS Code
33
weight: 2
44

55
### FIXED, DO NOT MODIFY
66
layout: learningpathall
77
---
88

9-
## Set Up Your Zephyr Development Environment
9+
## Set up your Zephyr development environment
1010

11-
Setting up a [Zephyr](https://zephyrproject.org/) RTOS development environment from scratch can be challengingrequiring developers 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.
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.
1212

13-
***[Zephyr Workbench](https://zephyr-workbench.com/)*** is an open-source Visual Studio Code extension 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 debuggingmaking Zephyr projects faster to start and easier to scale.
13+
[Zephyr Workbench](https://zephyr-workbench.com/) is an open-source Visual Studio Code extension 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, youll walk through the essential steps to install Zephyr Workbench and configure a complete development environment on your local machine. Once complete, youll be ready to create, build, and debug applications for Arm Cortex-M platforms using Zephyr RTOS.
15+
In this Learning Path, you'll learn the essential steps to install Zephyr Workbench 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.
1616

17-
**Key capabilities:**
18-
19-
- One-Click Environment Setup: Automatically installs required host tools including Python, CMake, Ninja, and Git.
20-
- SDK and Toolchain Management: Supports importing and managing Zephyr SDKs with version and architecture selection.
21-
- Workspace and Project Initialization: Initializes west workspaces and creates board-specific applications from samples.
22-
- Integrated Build and Flash: Builds Zephyr applications and flashes to hardware directly from the VS Code interface.
23-
- Advanced Debug and Memory Analysis: Provides breakpoint debugging and memory usage insights with hardware probe support.
17+
Zephyr Workbench 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.
2418

2519
## What you need before installing Zephyr Workbench
2620

27-
To get started with Zephyr Workbench, ensure you have the following required Software:
28-
29-
**Visual Studio Code:**
30-
31-
- Download, install, and start Visual Studio Code on your desktop.
32-
33-
**Windows Requirements:**
34-
35-
- Windows 10 or later (64-bit)
36-
- Administrator privileges for installing tools and drivers
37-
- Internet connection for downloading packages and SDKs
21+
To get started with Zephyr Workbench you need to have Visual Studio Code downloaded, installed, and running on your computer.
3822

39-
Or
23+
For Windows, you need version 10 or later (64-bit), along with administrator privileges for installing tools and drivers.
4024

41-
**macOS Requirements:**
42-
43-
- On macOS, the package manager "Homebrew" is required.
44-
- To install Homebrew, run the following command:
25+
On macOS, the Homebrew package manager is required. To install Homebrew, run the following command:
4526

4627
```bash
4728
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
4829
```
4930

50-
**Supported Hardware:**
31+
Zephyr Workbench supports STM32 development boards (STM32 Discovery, Nucleo series), Nordic Semiconductor boards (nRF52, nRF53, nRF91 series), NXP development boards (FRDM, LPCXpresso series), Espressif boards (ESP32-based boards), and many other Zephyr-supported platforms. You need a development board to try out the code examples.
32+
33+
## Configure the Zephyr Workbench extension in Visual Studio Code
5134

52-
- STM32 development boards (STM32 Discovery, Nucleo series)
53-
- Nordic Semiconductor boards (nRF52, nRF53, nRF91 series)
54-
- NXP development boards (FRDM, LPCXpresso series)
55-
- Espressif boards (ESP32-based boards)
56-
- And many other Zephyr-supported platforms
35+
This section covers installing the Zephyr Workbench extension and configuring your Arm development environment.
5736

58-
## Set Up Zephyr Workbench Extension in Visual Studio Code
37+
### Install the extension
5938

60-
This module walks you through installing the Zephyr Workbench extension and setting up your Arm-ready development environment.
39+
To install the Zephyr Workbench extension, open Visual Studio Code and navigate to the Extensions view by selecting the Extensions icon in the Activity Bar.
6140

62-
### Install the Extension
41+
You can also use the keyboard shortcut `Ctrl+Shift+X` (Windows/Linux) or `Cmd+Shift+X` (macOS).
6342

64-
1. **Open VS Code Extension Marketplace**
65-
- Open Visual Studio Code
66-
- Navigate to the `Extensions view` by clicking the Extensions icon in the Activity Bar
67-
- Or use the keyboard shortcut `Ctrl+Shift+X` (Windows/Linux) or `Cmd+Shift+X` (macOS)
68-
2. **Search and Install**
69-
- In the search box, type "Zephyr Workbench"
70-
- Locate the official "Zephyr Workbench" extension by Ac6
71-
- Click "Install" to add the extension to VS Code
72-
3. **Verify Installation**
73-
- After installation, you should see the Zephyr Workbench panel in the VS Code sidebar
74-
- The extension icon will appear in the Activity Bar
75-
- A welcome message may appear confirming successful installation
43+
In the search box, type "Zephyr Workbench" and locate the official "Zephyr Workbench" extension by Ac6. Select **Install** to add the extension to VS Code.
44+
45+
The extension icon appears in the Activity Bar, and a welcome message may appear confirming successful installation.
7646

7747
Once installed, the Zephyr Workbench icon appears in the sidebar with a welcome screen.
7848

49+
### Install the required host tools
7950

51+
In the Zephyr Workbench panel, select **Install Host Tools** to automatically install the required dependencies.
8052

81-
### Install Required Host Tools
53+
This process installs Python 3.x, CMake, the Ninja build system, Git, Device Tree Compiler (DTC), and the West meta-tool.
8254

83-
In the Zephyr Workbench panel, click ***Install Host Tools*** to automatically install dependencies:
84-
- ***Python*** 3.x
85-
- ***CMake***
86-
- ***Ninja*** build system
87-
- ***Git***
88-
- ***Device Tree Compiler*** (DTC)
89-
- ***West*** meta-tool
90-
91-
![Install Host Tools #center](images/install_host_tools.png)
55+
![Install Host Tools #center](images/install_host_tools.png)
9256

9357
{{% notice Note %}}
94-
On Windows, you may be prompted for permission when tools are executed. Click "Allow" when requested.
58+
On Windows, you may be prompted for permission when tools are executed. Select "Allow" when requested.
9559
{{% /notice %}}
9660

97-
After host tools installation, click ***Verify Host Tools*** to check the version of each installed packages.
61+
When the installation completes, select **Verify Host Tools** to check the version of each installed package.
9862

63+
### Import and configure the toolchain
9964

100-
### Import and Configure Toolchain
65+
Next, download and configure the toolchain by selecting **Import Toolchain** in the Zephyr Workbench panel. Select the toolchain family (*Zephyr SDK*) and configure the SDK Type by choosing *Minimal* for basic functionality.
10166

102-
Next, download and configure the ***Toolchain***.
67+
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*.
10368

104-
- Click ***Import Toolchain*** in the Zephyr Workbench panel
105-
- Select the toolchain family (***Zephyr SDK***)
106-
- configure the ***SDK Type***: choose ***Minimal*** for basic functionality
107-
- **Version:** Select desired version (e.g., v0.17.0 or v0.17.3)
108-
- **Toolchains:** Select target architectures (In this learning path, you only need to select ***arm***)
109-
- **Location:** Specify the parent directory for SDK installation
110-
- Click **"Import"** to download and install the SDK
111-
112-
![Import Toolchain #center](images/import_toolchain.png)
69+
Specify the parent directory for SDK installation and select **Import** to download and install the SDK.
11370

71+
![Import Toolchain #center](images/import_toolchain.png)
11472

115-
### Initialize the Zephyr Project Workspace
11673

117-
Zephyr uses a Git-based workspace manager called West to organize its source code, modules, and samples. Use Zephyr Workbench to initialize your first ***west workspace***.
74+
### Initialize the Zephyr project workspace
11875

119-
In the Zephyr Workbench panel, click “Initialize Workspace” and fill in the following settings:
76+
Zephyr uses a Git-based workspace manager called West to organize its source code, modules, and samples. Use Zephyr Workbench to initialize your first West workspace.
12077

121-
- Click "Initialize workspace" to set up your project environment
122-
- Configure workspace settings in the opened page:
123-
- **Source location:** Select "Minimal from template"
124-
- **Path:** Use default `https://github.com/zephyrproject`
125-
- **Template:** Choose target-specific template (e.g., STM32, NXP)
126-
- **Branch:** Select Zephyr version (e.g., v3.7.0, v4.1.0)
127-
- **Location:** Specify directory for workspace (takes ~10 minutes to initialize)
128-
- Click "Import" to create and update the workspace
129-
130-
![Initialize West Workspace #center](images/initialize_workspace.png)
78+
In the Zephyr Workbench 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`.
79+
80+
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.
81+
82+
Select **Import** to create and update the workspace.
83+
84+
![Initialize West Workspace #center](images/initialize_workspace.png)
13185

132-
{{% notice Note %}}
133-
The workspace initialization downloads the Zephyr source code and dependencies. This process may take several minutes depending on your internet connection.
134-
{{% /notice %}}
86+
{{% notice Note %}}
87+
The workspace initialization downloads the Zephyr source code and dependencies. This process may take several minutes depending on your internet connection speed.
88+
{{% /notice %}}
13589

136-
### Verify Setup
90+
### Verify setup
13791

138-
**Test your setup**
139-
- Confirm that the Zephyr Workbench panel shows all components as installed:
140-
- Host Tools installed successfully
141-
- SDK imported and detected
142-
- West workspace initialized
143-
- Ensure no error messages appear in the VS Code output panel
92+
Test your setup by confirming that the Zephyr Workbench panel shows all components as installed successfully. Verify the host tools are installed, the SDK is imported and detected, and the West workspace is initialized. Ensure no error messages appear in the VS Code output panel.
14493

14594
{{% notice Note %}}
14695
**Troubleshooting tips:**
14796
- Run VS Code as Administrator if host tool installation fails on Windows
14897
- Ensure internet access is allowed through your firewall
149-
- Check for minimum 2GB free disk space before importing SDK
98+
- Check for minimum 2 GB free disk space before importing SDK
15099
{{% /notice %}}
151100

152-
You’re now ready to create and build your first Zephyr application targeting an Arm Cortex-M board.
153-
154-
After completing this session, your environment is ready to create, build, and debug Zephyr applications in VS Code using Arm Cortex-M boards.
101+
You're ready to create and build your first Zephyr application targeting an Arm Cortex-M board.

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

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,66 +6,65 @@ weight: 3
66
layout: learningpathall
77
---
88

9-
## Create and Build Your First Zephyr Application
9+
## Create and build your first Zephyr application
1010

11-
In this session, youll learn how to create and build your first Zephyr application using Zephyr Workbench. This step prepares you to customize, test, and expand real firmware projects on Arm Cortex-M boards.
11+
In this session, you'll learn how to create and build your first Zephyr application using Zephyr Workbench. This step prepares you to customize, test, and expand real firmware projects on Arm Cortex-M boards.
1212

13-
For demonstration, we will use an [NXP FRDM-MCXN947](https://www.nxp.com/design/design-center/development-boards-and-designs/FRDM-MCXN947) development board as the target device. However, the same steps apply to any Zephyr-supported Arm Cortex-M board.
13+
For demonstration, you'll use an [NXP FRDM-MCXN947](https://www.nxp.com/design/design-center/development-boards-and-designs/FRDM-MCXN947) development board as the target device. However, the same steps apply to any Zephyr-supported Arm Cortex-M board.
1414
You can find the full list of supported boards in the [Supported Boards](https://docs.zephyrproject.org/latest/boards/#).
1515

16-
Depending on your board, you may need to install a different debug tool. We’ll cover that in the next module.
16+
Depending on your board, you might need to install a different debug tool. The next module covers this setup.
1717

18-
### Create Application
18+
### Create application
1919

2020
In the Zephyr Workbench panel:
2121

22-
1. Click **"Create New Application"**
22+
1. Select **Create New Application**
2323
2. Configure your project:
2424
- Select workspace and SDK
25-
- Choose your **target board** (e.g., NXP FRDM-MCXN947)
26-
- Select a sample app (e.g., `hello_world`)
25+
- Choose your target board (for example, NXP FRDM-MCXN947)
26+
- Select a sample app (for example, `hello_world`)
2727
- Provide a project name
2828

2929
![Create App](images/create_app.png)
3030

31+
### Build the application
3132

32-
### Build the Application
33-
34-
Click the **Build** button in Zephyr Workbench or press `Ctrl+Shift+B`.
33+
Select the **Build** button in Zephyr Workbench or press `Ctrl+Shift+B`.
3534

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

3837
![Build Application](images/build_application.png)
3938

39+
### Install board-specific debug utilities
4040

41-
### Install Board-Specific Debug Utilities
42-
43-
To enable debugging on your target hardware, you may need to install additional tools based on the board vendor.
41+
To enable debugging on your target hardware, you might need to install additional tools based on the board vendor.
4442

4543
For the NXP FRDM-MCXN947, download and install the LinkServer debug utility:
4644
- LinkServer for Microcontrollers: [NXP LinkServer Download Page](https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/linkserver-for-microcontrollers:LINKERSERVER)
4745

48-
Once installed, Zephyr Workbench will attempt to detect it automatically during a debug session.
49-
If youre using a different board, refer to your vendors documentation to install the appropriate debug utility.
46+
Once installed, Zephyr Workbench attempts to detect it automatically during a debug session.
47+
If you're using a different board, see your vendor's documentation to install the appropriate debug utility.
5048

5149
{{% notice Note %}}
52-
If Zephyr Workbench does not automatically detect the installed debug runner, you can manually configure it.
53-
Open the ***Debug Manager*** from the Zephyr sidebar, and enter the full path to the runner executable.
50+
If Zephyr Workbench doesn't automatically detect the installed debug runner, you can manually configure it.
51+
Open the **Debug Manager** from the Zephyr sidebar, and enter the full path to the runner executable.
5452
{{% /notice %}}
5553

56-
### Review Output
54+
### Review output
5755

58-
Check the build output at the bottom panel of VS Code. Ensure there are no errors or warnings. A successful build should display:
56+
Check the build output at the bottom panel of VS Code. Make sure there are no errors or warnings. A successful build displays:
5957

60-
```
58+
```output
6159
Building ‘hello_world’ for frdm_mcxn947
6260
Memory region Used Size Region Size % Used
6361
FLASH: 19844 B 1 MB 1.9%
6462
SRAM: 4048 B 256 KB 1.5%
6563
```
6664

65+
### Code walkthrough: hello_world
6766

68-
### Code Walkthrough: hello_world
67+
The following code shows a basic Zephyr application that prints a message to the console:
6968

7069
```c
7170
#include <zephyr/kernel.h>
@@ -78,10 +77,10 @@ int main(void)
7877
}
7978
```
8079
81-
`CONFIG_BOARD` expands to your target board name. Try modifying this app in the next module!
80+
`CONFIG_BOARD` expands to your target board name. You'll modify this app in the next module!
8281
83-
### Try This: Modify and Rebuild
82+
### Try this: modify and rebuild
8483
85-
Now that the app is working, 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.
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.
8685
87-
With your first Zephyr application successfully built, youre ready to take the next step—debugging. In the next module, youll launch a debug session, set breakpoints, and perform memory analysis using Zephyr Workbench. These skills will 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—debugging. In the next module, you'll launch a debug session, set breakpoints, and perform memory analysis using Zephyr Workbench. These skills help you validate and optimize applications running on real Arm Cortex-M hardware.

0 commit comments

Comments
 (0)