-
Notifications
You must be signed in to change notification settings - Fork 8k
Description
Discussed in #97483
Originally posted by RoyAc6 October 13, 2025
Context
During the last F2F TSC meeting, we discussed improving existing open-source tooling and extensions to simplify Zephyr adoption and enhance the developer experience.
This RFC continues that discussion by summarizing the current state of Zephyr Workbench, identifying areas where vendor contributions can have the greatest impact, and outlining key next steps for coordinated progress.
Other related discussion: GitHub Discussion #74005
1. Summary
This RFC proposes establishing a clear summary of currently supported features in Zephyr Workbench
and defining the areas for vendor-specific integrations.
The goal is to build a shared understanding of what types of contributions are needed
to achieve consistent and complete support within the Workbench.
2. Background
While many core features are already implemented, full support across all vendor platforms remains uneven,
and some existing features still need improvements. This limits the out-of-the-box functionality of Zephyr Workbench.
The core idea of Zephyr Workbench is to provide:
- A "one-click" experience for Zephyr developers (from setup to debugging).
- A graphical user interface for selecting and configuring options.
Documentation: Zephyr Workbench Documentation
This RFC aims to clarify:
- What Zephyr Workbench currently supports and which improvements are planned.
- What contributions and inputs vendors can provide to extend or complete support.
3. Current Support and Expected Improvements
3.1. Application Creation
Currently supported:
- Zephyr applications and sample project creation.
- C/C++ application development with IntelliSense-based code indexing.
- West manifests: custom repo, full (T1) or minimal templates
- Manage Workspaces: update, add environment variables, ...
Planned improvements:
- Add Rust support.
- Migrate from IntelliSense to clangd for more robust and consistent code indexing.
3.2. Device Tree and Kconfig
Currently supported:
- Opening and configuring via menuconfig and guiconfig.
In progress:
- Support for DTS Language Server (dts-lsp) to improve device tree navigation and validation.
- Any other suggestions ?
3.3. Toolchains
Currently supported:
- Zephyr SDK
- IAR
Planned additions:
- GNU Arm Embedded Toolchain
- Arm Compiler 6
- Other toolchains as needed, based on vendor requirements.
3.4. Host Tools
The goal is to make Zephyr Workbench a one-click setup across major operating systems.
Platform | Status | Notes |
---|---|---|
Windows 10 & 11 | Supported (CMD, PowerShell, PowerShell 7, Cygwin/MSYS/Git-Bash shells). | Debugging is not yet fully supported in non-native shells. |
macOS | Supported via Homebrew (Apple Silicon tested, Intel partially supported). | β |
Linux | Tested on Ubuntu 20.04, 22.04, 24.04. | Partial support for other distributions (Debian, Fedora, Clear Linux, Arch Linux). |
Objective: Achieve verified, full support across all major Linux distributions.
3.5. Other Features
Currently supported:
- One-click integrations for SPDX analysis tools, Puncover, footprint and memory analysis, etc.
- Sysbuild, Multibuild, custom boards, adding environment variables...
- Check out the Documentation
Planned improvements:
- Also supporting cortex-debug and coupling it with
west debugserver
- MISRA support (integration with Bugseng ECLAIR).
- Tracealyzer/Percepio view one-click integration.
- Dedicated memory footprint panel within the IDE.
- Creating "Debug" and "Release" profiles
- Additional integrated analysis and visualization tools.
- Twister setup and run
- GUI for customizing the west manifest
- GUI for host tools customization
- Get rid of any VSCode specific dependencies, so we can integrate it in VSCode-compatible tools (VSCodium, Theia)
- Having a custom tool that can be fetched and run directly using west
west workbench
3.6. Flash and Debug (Runners)
Zephyr Workbench uses Zephyr's "way" using west to manage flashing and debugging.
The concept involves coupling the west debugserver with VS Code,
where the runner must be installed and accessible in the system PATH.
Zephyr defines two relevant components:
- Debug Manager -- Configures and customizes debuggers, generating launch.json templates.
- Debug Host Tools -- Installs runners and manages their dependencies.
Where Vendors Can Help
- Provide a simple installation method for vendor-specific runners and debug tools.
- Contribute packs, such as the STM32 Debug Pack (which installs OpenOCD + CubeProgrammer).
- Easily find SVD files and automatically integrating them
- Testing boards and address related issues
- Extend support for other debuggers and vendor-specific interfaces.
- Developing and the contributing planned features
- Reporting host OS compatibility issues and proposed fixes.
- Participating in validation and testing across hardware targets.
Zephyr Workbench also supports pyOCD, automatically installing the
appropriate "pack" for selected boards when available.
4. Next Steps
- Gather feedback from maintainers, vendors, and community contributors.
- Finalize the list of expected integration points and active areas for contribution.
- Document these expectations in the Zephyr Workbench repository for easier onboarding of vendors.
Discussion
Community members and vendors are encouraged to share feedback, ideas,
or examples of integration approaches that worked well for their hardware.
The objective is to align on common extension mechanisms without limiting vendor flexibility.
Github users who may be interested:
@RoyAc6, @dleach02, @ifyall, @MaureenHelm, @carlescufi, @erwango, @jhedberg
Metadata
Metadata
Assignees
Labels
Type
Projects
Status