diff --git a/docs/documentation/analysis/_category_.json b/docs/documentation/analysis/_category_.json new file mode 100644 index 0000000..13e7d2a --- /dev/null +++ b/docs/documentation/analysis/_category_.json @@ -0,0 +1,9 @@ +{ + "label": "Analysis", + "position": 9, + "collapsed": true, + "link": { + "type": "generated-index", + "description": "Run Analysis tools" + } +} diff --git a/docs/documentation/memory-analysis/_category_.json b/docs/documentation/analysis/memory-analysis/_category_.json similarity index 89% rename from docs/documentation/memory-analysis/_category_.json rename to docs/documentation/analysis/memory-analysis/_category_.json index 1b4107a..1b0a424 100644 --- a/docs/documentation/memory-analysis/_category_.json +++ b/docs/documentation/analysis/memory-analysis/_category_.json @@ -1,6 +1,6 @@ { "label": "Memory Analysis", - "position": 7, + "position": 3, "collapsed": true, "link": { "type": "generated-index", diff --git a/docs/documentation/memory-analysis/puncover.md b/docs/documentation/analysis/memory-analysis/puncover.md similarity index 89% rename from docs/documentation/memory-analysis/puncover.md rename to docs/documentation/analysis/memory-analysis/puncover.md index abd22c7..da94ac2 100644 --- a/docs/documentation/memory-analysis/puncover.md +++ b/docs/documentation/analysis/memory-analysis/puncover.md @@ -1,5 +1,5 @@ --- -sidebar_position: 3 +sidebar_position: 5 --- # Puncover @@ -8,7 +8,7 @@ to provide a webpage view of the RAM, ROM and stack usage. To run Puncover, right-click on the application > Memory Analysis > Puncover. -![Puncover menu](/img/zw/memory-analysis/zw_puncover-menu.png) +![Puncover menu](/img/update/memory-analysis/puncover_menu.png) When the local web server is started, the webpage should automatically be opened. diff --git a/docs/documentation/analysis/memory-analysis/ram-plot.md b/docs/documentation/analysis/memory-analysis/ram-plot.md new file mode 100644 index 0000000..18ed02d --- /dev/null +++ b/docs/documentation/analysis/memory-analysis/ram-plot.md @@ -0,0 +1,36 @@ +--- +sidebar_position: 3 +--- + +# RAM Plot + +The **RAM Plot** generates a graphical visualization of RAM memory usage for the selected application. + +![RAM Plot Menu](/img/zw/memory-analysis/ramplot_menu.png) + +It displays memory allocation as an interactive hierarchical chart, making it easier to identify which components consume RAM resources. + +## Overview + +The RAM Plot organizes memory usage into different sections and modules used by the application. + +The visualization can include: + +- **Kernel components** +- **Drivers** +- **Architecture-specific modules** +- **Libraries** +- **System components** +- **Application data** +- **Dependencies** + +![RAM Plot](/img/zw/memory-analysis/ramplot.png) + +Each section size is proportional to its memory usage, allowing users to quickly identify large RAM consumers. + +## Features + +- Visual representation of RAM allocation +- Hierarchical breakdown of memory usage +- Identification of large memory consumers +- Easy navigation through memory sections \ No newline at end of file diff --git a/docs/documentation/memory-analysis/ram-report.md b/docs/documentation/analysis/memory-analysis/ram-report.md similarity index 87% rename from docs/documentation/memory-analysis/ram-report.md rename to docs/documentation/analysis/memory-analysis/ram-report.md index de8f9b4..7fb4e90 100644 --- a/docs/documentation/memory-analysis/ram-report.md +++ b/docs/documentation/analysis/memory-analysis/ram-report.md @@ -6,7 +6,7 @@ sidebar_position: 1 The RAM Report lists all compiled objects and their RAM usage. To display the application RAM Report, right-click on the application > Memory Analysis > RAM Report. -![RAM Report menu](/img/zw/memory-analysis/zw_ramreport-menu.png) +![RAM Report menu](/img/update/memory-analysis/ramreport_menu.png) The report is displayed in the Terminal. The data are shown in a table and grouped based on the file system location. It provides you the symbols size (in bytes) and its percentage usage. diff --git a/docs/documentation/analysis/memory-analysis/rom-plot.md b/docs/documentation/analysis/memory-analysis/rom-plot.md new file mode 100644 index 0000000..bf940e4 --- /dev/null +++ b/docs/documentation/analysis/memory-analysis/rom-plot.md @@ -0,0 +1,36 @@ +--- +sidebar_position: 4 +--- + +# ROM Plot + +The **ROM Plot** generates a graphical visualization of ROM/Flash memory usage for the selected application. + +![ROM Plot Menu](/img/zw/memory-analysis/romplot_menu.png) + +It displays how the generated binary is distributed among source files, libraries, drivers, dependencies, and system components. + +## Overview + +The ROM Plot provides a hierarchical view of Flash memory usage and helps users understand which components contribute to the final binary size. + +The visualization may include: + +- **Kernel modules** +- **Drivers** +- **Architecture components** +- **Libraries** +- **Dependencies** +- **Generated files** +- **Application code** + +![ROM Plot](/img/zw/memory-analysis/romplot.png) + +Each section represents its contribution to the overall binary size. + +## Features + +- Visual representation of Flash/ROM usage +- Hierarchical organization of components +- Binary size analysis +- Identification of large code contributors \ No newline at end of file diff --git a/docs/documentation/memory-analysis/rom-report.md b/docs/documentation/analysis/memory-analysis/rom-report.md similarity index 87% rename from docs/documentation/memory-analysis/rom-report.md rename to docs/documentation/analysis/memory-analysis/rom-report.md index b22319f..252ae4a 100644 --- a/docs/documentation/memory-analysis/rom-report.md +++ b/docs/documentation/analysis/memory-analysis/rom-report.md @@ -6,7 +6,7 @@ sidebar_position: 2 The ROM Report lists all compiled objects and their ROM usage. To display the application RAM Report, right-click on the application > Memory Analysis > RAM Report. -![RAM Report menu](/img/zw/memory-analysis/zw_romreport-menu.png) +![RAM Report menu](/img/update/memory-analysis/romreport_menu.png) The report is displayed in the Terminal. The data are shown in a table and grouped based on the file system location. It provides you the symbols size (in bytes) and its percentage usage. diff --git a/docs/documentation/analysis/spdx/_category_.json b/docs/documentation/analysis/spdx/_category_.json new file mode 100644 index 0000000..84d9c0b --- /dev/null +++ b/docs/documentation/analysis/spdx/_category_.json @@ -0,0 +1,9 @@ +{ + "label": "SPDX", + "position": 5, + "collapsed": true, + "link": { + "type": "generated-index", + "description": "Run SPDX analysis tools" + } +} \ No newline at end of file diff --git a/docs/documentation/analysis/spdx/cve-bin-tool.md b/docs/documentation/analysis/spdx/cve-bin-tool.md new file mode 100644 index 0000000..d6876c9 --- /dev/null +++ b/docs/documentation/analysis/spdx/cve-bin-tool.md @@ -0,0 +1,32 @@ +--- +sidebar_position: 3 +--- + +# CVE Binary Tool + +The **CVE Binary Tool** scans software components and binaries to identify known security vulnerabilities. + +It compares detected components against public vulnerability databases and reports potential issues. + +![CVE Binary Tool](/img/zw/spdx/cve-bin-tool.png) + +## Overview + +The CVE Binary Tool performs the following tasks: + +- Scans generated binaries +- Identifies software components +- Retrieves vulnerability information +- Compares components against CVE databases +- Generates security analysis results + +## Analysis Results + +The output may include: + +- Detected components +- Matching CVEs +- Vulnerability identifiers +- Severity information +- Database update information +- Scan status \ No newline at end of file diff --git a/docs/documentation/analysis/spdx/ntia-checker.md b/docs/documentation/analysis/spdx/ntia-checker.md new file mode 100644 index 0000000..07bd7c5 --- /dev/null +++ b/docs/documentation/analysis/spdx/ntia-checker.md @@ -0,0 +1,34 @@ +--- +sidebar_position: 1 +--- + +# NTIA Checker + +The **NTIA Checker** validates whether a generated Software Bill of Materials (SBOM) satisfies the minimum requirements defined by the National Telecommunications and Information Administration (NTIA). + +It analyzes the generated SPDX data and reports missing or incomplete information. + +![NTIA Checker](/img/zw/spdx/ntia-checker.png) + +## Overview + +The NTIA Checker verifies multiple SBOM elements, including: + +- Component names +- Component versions +- Component identifiers +- Supplier information +- SBOM author information +- Creation timestamp +- Dependency relationships + +The analysis result indicates whether the generated SBOM conforms to NTIA minimum requirements. + +## Results + +The output displays: + +- Overall conformance status +- Validation result for each requirement +- Missing fields or incomplete information +- Pass or fail status for each element \ No newline at end of file diff --git a/docs/documentation/analysis/spdx/sbom2doc.md b/docs/documentation/analysis/spdx/sbom2doc.md new file mode 100644 index 0000000..22140ca --- /dev/null +++ b/docs/documentation/analysis/spdx/sbom2doc.md @@ -0,0 +1,37 @@ +--- +sidebar_position: 2 +--- + +# SBOM2Doc + +The **SBOM2Doc** tool converts a generated SPDX Software Bill of Materials into a human-readable document. + +It transforms raw SBOM information into a structured report that is easier to inspect and review. + +![SBOM2Doc](/img/zw/spdx/sbom2doc.png) + +## Overview + +The generated document may contain: + +- SBOM summary information +- Package information +- Component summaries +- License summaries +- Dependency information +- NTIA compliance information + +The report presents software component data in a structured format. + +## Generated Information + +The output can include: + +- SBOM file details +- Creator information +- Creation date +- Package list +- Package versions +- License information +- Component types +- Dependency relationships \ No newline at end of file diff --git a/docs/documentation/static-code-analysis/_category_.json b/docs/documentation/analysis/static-code-analysis/_category_.json similarity index 90% rename from docs/documentation/static-code-analysis/_category_.json rename to docs/documentation/analysis/static-code-analysis/_category_.json index 0cee741..e30ab9d 100644 --- a/docs/documentation/static-code-analysis/_category_.json +++ b/docs/documentation/analysis/static-code-analysis/_category_.json @@ -1,6 +1,6 @@ { "label": "Static Code Analysis", - "position": 7, + "position": 4, "collapsed": true, "link": { "type": "generated-index", diff --git a/docs/documentation/static-code-analysis/dt-doctor.md b/docs/documentation/analysis/static-code-analysis/dt-doctor.md similarity index 100% rename from docs/documentation/static-code-analysis/dt-doctor.md rename to docs/documentation/analysis/static-code-analysis/dt-doctor.md diff --git a/docs/documentation/static-code-analysis/eclair-manager.md b/docs/documentation/analysis/static-code-analysis/eclair-manager.md similarity index 100% rename from docs/documentation/static-code-analysis/eclair-manager.md rename to docs/documentation/analysis/static-code-analysis/eclair-manager.md diff --git a/docs/documentation/analysis/w_dashboard.md b/docs/documentation/analysis/w_dashboard.md new file mode 100644 index 0000000..0a374c3 --- /dev/null +++ b/docs/documentation/analysis/w_dashboard.md @@ -0,0 +1,32 @@ +--- +sidebar_position: 2 +--- + +# West Dashboard + +The **West Dashboard** provides a web-based summary of the selected Zephyr application and its build environment. + +![West Dashboard Menu](/img/zw/analysis/w_dashboard_menu.png) + +It gives access to useful project information such as build attributes, memory reports, Kconfig data, system initialization details, device tree information, and ELF statistics. + +![West Dashboard](/img/zw/analysis/w_dashboard.png) + +## Overview + +The West Dashboard contains several pages: + +- **Home:** Displays the build summary, including Zephyr version, board, application path, build date, and selected toolchain. +- **Memory Report:** Shows detailed memory usage information for the application. +- **Kconfig:** Provides information about the application configuration. +- **Sys Init:** Displays system initialization information. +- **Device Tree:** Shows device tree-related information used by the build. +- **ELF Stats:** Displays statistics extracted from the generated ELF file. + +## Build Summary + +The main page displays: + +- **Build Attributes:** Zephyr version, board, application path, build date, and toolchain. +- **Memory Summary:** Binary size, code size, read-only data, read/write data, and BSS. +- **Build Command:** Output directory and command used to build the application. \ No newline at end of file diff --git a/docs/documentation/analysis/wb_dashboard.md b/docs/documentation/analysis/wb_dashboard.md new file mode 100644 index 0000000..a68be49 --- /dev/null +++ b/docs/documentation/analysis/wb_dashboard.md @@ -0,0 +1,24 @@ +--- +sidebar_position: 1 +--- + +# Workbench Dashboard + +The **Workbench Dashboard** provides a complete overview of the selected Zephyr application directly inside Visual Studio Code. + +![Workbench Dashboard Menu](/img/zw/analysis/wb_dashboard_menu.png) + +It displays build information, memory usage, generated artifacts, configuration files, and toolchain details. + +![Workbench Dashboard](/img/zw/analysis/wb_dashboard.png) + +## Overview + +The Workbench Dashboard includes several sections: + +- **Target:** Displays the selected application, board, SoC, CPU architecture, Zephyr version, and workspace status. +- **Memory:** Shows Flash and RAM usage. +- **Image:** Displays image size information such as binary size, text section, read-only data, read/write data, and BSS. +- **Toolchain:** Shows the selected toolchain, SDK version, build generator, West version, and build date. +- **Sources:** Provides quick access to configuration and device tree files. +- **Artifacts:** Lists generated build files such as ELF, BIN, HEX, and MAP files. \ No newline at end of file diff --git a/docs/documentation/application.md b/docs/documentation/application.md index a864b29..1406fc3 100644 --- a/docs/documentation/application.md +++ b/docs/documentation/application.md @@ -1,5 +1,5 @@ --- -sidebar_position: 6 +sidebar_position: 7 --- # Applications @@ -7,7 +7,7 @@ sidebar_position: 6 Before creating an application, it is mandatory to have a Zephyr SDK and a West workspace. The creation process is based on sample provided by Zephyr. -![Create New Application](/img/zw/applications/zw_app_create.png) +![Create New Application](/img/update/applications/zw_app_create.png) 1. Click on "New Application" 2. Select a parent west workspace, the workspace folder is scanned to detect the available boards and samples @@ -15,19 +15,19 @@ The creation process is based on sample provided by Zephyr. 4. Select the target board 5. Select the sample that serve as base project 6. Enter your project name -7. Enter your project location -8. Select the pristine build mode (this option indicated if the build folder must be clean before each build) -9. Click on "Import" +7. Select the application type +8. Enter your project location +9. Select the debug preset +10. Advanced options : You can select the python environment, the settings path and enter the application subfolder name +11. Click on "Import" ## Import Application If you already have an application sources, you can import and configure it for Workbench for Zephyr -1. Click on "Import Application" button -![Import Application](/img/zw/applications/zw_app_import.png) - -2. Enter the application directory or click on the folder icon to open file browser -![Import Application Wizard](/img/zw/applications/zw_app_import_wiz1.png) +1. Click on "Add Application" button and select "Import existing application" +![Import Application](/img/update/applications/zw_app_import.png) +2. Enter the application directory or click on "Browse" to open file browser 3. Select the west workspace to attach your application to 4. Select SDK to use 5. Select the target board @@ -70,23 +70,39 @@ In the **APPLICATIONS** panel, you can: - Harden Config: Run config hardening tools. - Change Board. - Change West Workspace: Associate the Application to another west workspace. - - Change Build Pristine Setting. -- **Memory Analysis** - - RAM Report: List compiled object and their RAM usage. - - ROM Report: List compiled object and their ROM usage. - - Puncover: Start puncover webserver, page displayed in web navigator. -- **Run** +- **Analysis** + - **Workbench Dashboard**: Opens the workbenche dashboard that provides an overview of the current application, workspace status, build information, and project-related details. + - **West Dashboard**: Displays information related to the West workspace, including repositories, manifest configuration, modules, and dependency status. + - **Memory Analysis** + - RAM Report: List compiled object and their RAM usage. + - ROM Report: List compiled object and their ROM usage. + - RAM Plot: Generates a graphical visualization of RAM usage. + - ROM Plot: Generates a graphical visualization of ROM usage. + - Puncover: Start puncover webserver, page displayed in web navigator. + - **Static Code Analysis** + - DT Doctor: Analyzes the Device Tree configuration and helps identify potential errors, inconsistencies, or missing definitions. + - ECLAIR Manager: Provides access to ECLAIR static analysis tools for code quality checking and compliance verification. + - **SPDX** + - **Install dependencies:** Installs the required packages and external tools needed for SPDX generation and analysis features. + - **Build SPDX:** Generates an SPDX Software Bill of Materials (SBOM) for the current application and its dependencies. + - **Analysis SPDX** + - **ntia-checker:** Verifies whether the generated SBOM complies with NTIA minimum requirements for software supply chain transparency. + - **sbom2doc:** Converts the generated SBOM into a human-readable documentation format. + - **cve-bin-tool:** Scans software components and binaries for known Common Vulnerabilities and Exposures (CVEs). +- **Flash/Run** - **Debug**: Search for existing debug session or open Debug Manager. -- **Generate SPDX**: Generate SPDX 2.3 tag-value document. -- **Delete from disk**: Fully delete the application folder from the system (irreversible). -- **Local Environment** +- **Python Environment** - Create local Python Virtual environment: Generate a venv for the application only. - Set Python virtual environment: Set your own venv, enter the path to the activate script. +- **Set Default Runner:** Sets the default runner used for flashing and debugging operations for the selected application. +- **Add Multibuild:** Creates a multibuild configuration that allows building the same application for multiple boards or targets simultaneously. +- **Add Custom Task:** Creates a user-defined task that can execute custom commands or workflows within the project. +- **Select Application:** Sets the active application to be used for build, flash, debug, and analysis operations. - **Open Containing folder**: Open the application folder on your File Explorer. - **Open in Explorer**: Open the folder in the "Explorer" view. - **Open Terminal**: Open a local terminal for the application. -![Import Application Wizard](/img/zw/applications/zw_app_manage.png) +![Import Application Wizard](/img/update/applications/zw_app_manage.png) Additionally, you can set some Zephyr Build System Variables: - **EXTRA_CONF_FILE**: Additional Kconfig configuration fragment files. diff --git a/docs/documentation/configuration/_category_.json b/docs/documentation/configuration/_category_.json index e5ae38d..c06e84f 100644 --- a/docs/documentation/configuration/_category_.json +++ b/docs/documentation/configuration/_category_.json @@ -1,6 +1,6 @@ { "label": "Configuration", - "position": 7, + "position": 8, "collapsed": true, "link": { "type": "generated-index", diff --git a/docs/documentation/configuration/change-board.md b/docs/documentation/configuration/change-board.md index 8f298c2..6615fe4 100644 --- a/docs/documentation/configuration/change-board.md +++ b/docs/documentation/configuration/change-board.md @@ -1,5 +1,5 @@ --- -sidebar_position: 3 +sidebar_position: 4 --- # Change board diff --git a/docs/documentation/configuration/change-pristine.md b/docs/documentation/configuration/change-pristine.md deleted file mode 100644 index 053e340..0000000 --- a/docs/documentation/configuration/change-pristine.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -sidebar_position: 7 ---- -# Change pristine build option - -The pristine build mode indicated if the build folder must be clean before each build. - -To change the pristine build option mode, right-click on the application > Configure > Change Pristine Build then select -the option mode: - -![Pristine Build](/img/zw/configuration/zw_change-pristine.png) - -- **auto**: The `west build` command auto-detects situations when build directory needs to be made clean. -- **always**: Always clean the build directory before build -- **never**: No attempt to detect if build directory needs to be made clean before build. - diff --git a/docs/documentation/configuration/guiconfig.md b/docs/documentation/configuration/guiconfig.md index ca6c080..e49e509 100644 --- a/docs/documentation/configuration/guiconfig.md +++ b/docs/documentation/configuration/guiconfig.md @@ -1,5 +1,5 @@ --- -sidebar_position: 2 +sidebar_position: 1 --- # GUI Config diff --git a/docs/documentation/configuration/menuconfig.md b/docs/documentation/configuration/menuconfig.md index 42053d9..12bcddd 100644 --- a/docs/documentation/configuration/menuconfig.md +++ b/docs/documentation/configuration/menuconfig.md @@ -1,5 +1,5 @@ --- -sidebar_position: 1 +sidebar_position: 2 --- # Menuconfig diff --git a/docs/documentation/configuration/sysbuild.md b/docs/documentation/configuration/sysbuild.md index 00b4f43..14ed171 100644 --- a/docs/documentation/configuration/sysbuild.md +++ b/docs/documentation/configuration/sysbuild.md @@ -1,5 +1,5 @@ --- -sidebar_position: 5 +sidebar_position: 7 --- # Sysbuild diff --git a/docs/documentation/custom.md b/docs/documentation/custom.md index 50d25c4..6b38767 100644 --- a/docs/documentation/custom.md +++ b/docs/documentation/custom.md @@ -1,5 +1,5 @@ --- -sidebar_position: 11 +sidebar_position: 14 --- # Using Custom Boards diff --git a/docs/documentation/debug-session.md b/docs/documentation/debug-session.md index 0d89362..4c65dcc 100644 --- a/docs/documentation/debug-session.md +++ b/docs/documentation/debug-session.md @@ -1,5 +1,5 @@ --- -sidebar_position: 10 +sidebar_position: 13 --- # Debug Session diff --git a/docs/documentation/dts-lsp.md b/docs/documentation/dts-lsp.md index e4b5abb..363f3bd 100644 --- a/docs/documentation/dts-lsp.md +++ b/docs/documentation/dts-lsp.md @@ -1,5 +1,5 @@ --- -sidebar_position: 12 +sidebar_position: 15 --- # DTS LSP Integration diff --git a/docs/documentation/getting-started/getting-started-win.md b/docs/documentation/getting-started/getting-started-win.md index 3b3c69d..77b94ac 100644 --- a/docs/documentation/getting-started/getting-started-win.md +++ b/docs/documentation/getting-started/getting-started-win.md @@ -33,7 +33,7 @@ To execute tools, Windows asks for permission to be granted. ::: ### Import Toolchain - * Click on "New Toolchain" button + * Click on "Add Toolchain" button * Open the newly opened page, enter information about your Zephyr SDK. - For example: - Source location: Official SDK @@ -55,6 +55,7 @@ To execute tools, Windows asks for permission to be granted. - Minimal: marked as check - Template: STM32 - Branch: v4.3.0 + - Customize template : Enter the subfolder name for west.yml and modules. Add or remove projects from the template - Location: enter the directory where the west workspace will be imported (the directory name will serve as workspace name) (takes ~10mins to init then update the workspace) * Click on "Import" @@ -66,14 +67,16 @@ To execute tools, Windows asks for permission to be granted. ### Create a new application project On Workbench for Zephyr, new project are based on samples from Zephyr sources. - * Click on "Create New Application" + * Click on "Add Application" * Select the **West Workspace** to attach to * Select the **Zephyr SDK** to use * Select the target **Board** (eg. ST STM32F4 Discovery) * Select the **Sample** project as based (eg. hello_world) * Enter the project name + * Select the application type * Enter the project location - * Select the Pristine Build option (More information on [Pristine Builds](https://docs.zephyrproject.org/latest/develop/west/build-flash-debug.html#pristine-builds)) + * Select the debug preset + * Advanced options : You can select the python environment, the settings path and enter the application subfolder name ![Create New Project](/img/update/win/create-app.png) diff --git a/docs/documentation/host-tools-manager.md b/docs/documentation/host-tools-manager.md index 2dd3ca2..0adb0da 100644 --- a/docs/documentation/host-tools-manager.md +++ b/docs/documentation/host-tools-manager.md @@ -1,5 +1,5 @@ --- -sidebar_position: 9 +sidebar_position: 11 --- # Host Tools Manager diff --git a/docs/documentation/install-runners.md b/docs/documentation/install-runners.md index 635c72b..c19861e 100644 --- a/docs/documentation/install-runners.md +++ b/docs/documentation/install-runners.md @@ -1,5 +1,5 @@ --- -sidebar_position: 9 +sidebar_position: 12 --- # Install Runners diff --git a/docs/documentation/multibuild.md b/docs/documentation/multibuild.md index 65af2e6..606db76 100644 --- a/docs/documentation/multibuild.md +++ b/docs/documentation/multibuild.md @@ -1,5 +1,5 @@ --- -sidebar_position: 8 +sidebar_position: 10 --- # Multibuild diff --git a/docs/documentation/sdk.md b/docs/documentation/sdk.md index ced632b..4d3206d 100644 --- a/docs/documentation/sdk.md +++ b/docs/documentation/sdk.md @@ -33,6 +33,37 @@ You can choose from the following source locations when adding a toolchain: ### Local Folder - Register an SDK already installed on your system. +--- + +# ARM GNU Toolchain Support + +Workbench for Zephyr supports importing the **ARM GNU Toolchain**, which provides GNU-based ARM cross-compilation tools for building Zephyr applications. + +The ARM GNU Toolchain import requires the following input fields: + +- **Version:** Select the ARM GNU Toolchain version to install or use. +- **Target:** Select the target architecture: + - **AArch32 bare-metal (arm-none-eabi)** + - **AArch64 bare-metal (aarch64-none-elf)** +- **Install subfolder:** Automatically generated folder name where the toolchain will be installed. +- **Location:** Destination path where the toolchain files will be installed. + +:::tip +The **Official** source automatically downloads and installs the selected ARM GNU Toolchain version. +Alternatively, select **Local** if the toolchain is already installed on your machine. +::: + +![ARM GNU Toolchain](/img/update/zw_sdk_import_gnu.png) + +:::note +The ARM GNU Toolchain provides the compiler and build tools required for ARM development. A valid **Zephyr SDK installation** may still be required for additional components used by Zephyr, depending on the project configuration and target platform. +::: + +## Steps: +1. Open the **Add Toolchain** panel +2. Select **ARM GNU Toolchain** as the toolchain family +3. Select the **Source**, desired **Version**, **target architecture** and **ARM GNU Toolchain** Location +4. Click **Import**. --- diff --git a/docs/documentation/vscode-zephyr-workbench-portable.md b/docs/documentation/vscode-zephyr-workbench-portable.md index accd77b..67fa62e 100644 --- a/docs/documentation/vscode-zephyr-workbench-portable.md +++ b/docs/documentation/vscode-zephyr-workbench-portable.md @@ -1,5 +1,5 @@ --- -sidebar_position: 13 +sidebar_position: 16 --- # Installing Workbench for Zephyr in VS Code Portable Mode diff --git a/docs/documentation/west-manager.md b/docs/documentation/west-manager.md new file mode 100644 index 0000000..dc34a74 --- /dev/null +++ b/docs/documentation/west-manager.md @@ -0,0 +1,70 @@ +--- +sidebar_position: 6 +--- +# West Manager + +Workbench for Zephyr provides a **West Manager** interface that simplifies the management of Zephyr workspaces and manifest projects directly from Visual Studio Code. + +The West Manager allows users to: + +- Select an existing **Workspace** +- Choose the **Zephyr revision** +- Browse and filter available **Manifest projects** +- Enable or disable specific modules +- Apply changes to the workspace configuration +- Update workspace dependencies and repositories + +:::tip +Use the filter field to quickly find specific modules or repositories within large Zephyr manifests. +::: + +![West Manager](/img/zw/west_manager.png) + +## Interface Overview + +The West Manager interface contains the following sections: + +- **Workspace:** Select the active Zephyr workspace to manage. +- **Zephyr revision:** Select the Zephyr version or branch used by the workspace. +- **Refresh button:** Reload available revisions. +- **Filter projects:** Search for projects or modules inside the manifest. +- **Project list:** Displays available repositories and modules that can be enabled or disabled. + +Examples of commonly available projects: + +- cmsis +- cmsis-dsp +- hal_stm32 +- hal_nordic +- hal_nxp +- fatfs +- littlefs + +### Workspace Information + +The information panel displays: + +- Zephyr version +- Zephyr base path +- Git repository URL +- Manifest location +- Project source paths +- Submanifest information + +## Available Actions + +### Apply + +Applies selected changes to the current workspace configuration without updating repositories. + +### Update + +Updates repositories and dependencies based on the current workspace configuration. + +### Apply + Update + +Applies configuration changes and immediately updates workspace dependencies. + +### Refresh + +Reloads workspace data and project information. \ No newline at end of file diff --git a/docs/documentation/west-workspace.md b/docs/documentation/west-workspace.md index bf0597d..a47ea2f 100644 --- a/docs/documentation/west-workspace.md +++ b/docs/documentation/west-workspace.md @@ -11,7 +11,7 @@ For more information about west workspaces and its topology, please refer the Ze To import a new "West Workspace", click on the "New West Workspace" button or the "Initialize workspace" button -![New West Workspace](/img/zw/workspace/zw_west_workspace_new.png) +![New West Workspace](/img/update/workspace/zw_west_workspace_new.png) ### Source location: @@ -53,13 +53,15 @@ then import the initialize directory into Workbench for Zephyr. After importing a West Workspace, it appears in the **WEST WORKSPACES** panel on the left. The folder is also added to your VS Code multi-root workspace to access to the sources. -![Manage West Workspace](/img/zw/workspace/zw_west_workspace_manage-context.png) +![Manage West Workspace](/img/update/workspace/zw_west_workspace_manage-context.png) In the **WEST WORKSPACES** panel, you can: +- **West Manager**: Manage your west and select manifest projects - **Update**: Run *west update* command on the selected west workspace. - **Delete from Disk**: Permanently delete the SDK folder from your system (this action is irreversible). - **Open Terminal**: Open a terminal instance with the build environment and the environment variables +- **Install Python Dependencies**: Install python dependencies that are needed - **Edit variables**: On the west workspace, you can set the *ARCH_ROOT*, *SOC_ROOT*, *BOARD_ROOT* and *DTS_ROOT* variables to customize the the target definition location. Click on the [+] icon to add a value. The environment variable are stored in the `west_workspace/.vscode/settings.json` of your west workspace folder. diff --git a/package.json b/package.json index 5597ae6..150cc8d 100644 --- a/package.json +++ b/package.json @@ -40,5 +40,6 @@ }, "engines": { "node": ">=18.0" - } + }, + "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" } diff --git a/static/img/update/applications/zw_app_create.PNG b/static/img/update/applications/zw_app_create.PNG new file mode 100644 index 0000000..c50a900 Binary files /dev/null and b/static/img/update/applications/zw_app_create.PNG differ diff --git a/static/img/update/applications/zw_app_import.PNG b/static/img/update/applications/zw_app_import.PNG new file mode 100644 index 0000000..2dc09b6 Binary files /dev/null and b/static/img/update/applications/zw_app_import.PNG differ diff --git a/static/img/update/applications/zw_app_manage.PNG b/static/img/update/applications/zw_app_manage.PNG new file mode 100644 index 0000000..7c3c66f Binary files /dev/null and b/static/img/update/applications/zw_app_manage.PNG differ diff --git a/static/img/update/install-host-tools.png b/static/img/update/install-host-tools.png index 11416ff..a6a9b25 100644 Binary files a/static/img/update/install-host-tools.png and b/static/img/update/install-host-tools.png differ diff --git a/static/img/update/memory-analysis/puncover_menu.PNG b/static/img/update/memory-analysis/puncover_menu.PNG new file mode 100644 index 0000000..a968dd3 Binary files /dev/null and b/static/img/update/memory-analysis/puncover_menu.PNG differ diff --git a/static/img/update/memory-analysis/ramreport_menu.PNG b/static/img/update/memory-analysis/ramreport_menu.PNG new file mode 100644 index 0000000..139957a Binary files /dev/null and b/static/img/update/memory-analysis/ramreport_menu.PNG differ diff --git a/static/img/update/memory-analysis/romreport_menu.PNG b/static/img/update/memory-analysis/romreport_menu.PNG new file mode 100644 index 0000000..c710730 Binary files /dev/null and b/static/img/update/memory-analysis/romreport_menu.PNG differ diff --git a/static/img/update/wfz_overview.png b/static/img/update/wfz_overview.png index ed8a054..35ef88e 100644 Binary files a/static/img/update/wfz_overview.png and b/static/img/update/wfz_overview.png differ diff --git a/static/img/update/win/create-app.png b/static/img/update/win/create-app.png index 861f777..c50a900 100644 Binary files a/static/img/update/win/create-app.png and b/static/img/update/win/create-app.png differ diff --git a/static/img/update/win/create-wws.png b/static/img/update/win/create-wws.png index 9c59b18..89f96e7 100644 Binary files a/static/img/update/win/create-wws.png and b/static/img/update/win/create-wws.png differ diff --git a/static/img/update/win/install-host-tools.png b/static/img/update/win/install-host-tools.png index 11416ff..a6a9b25 100644 Binary files a/static/img/update/win/install-host-tools.png and b/static/img/update/win/install-host-tools.png differ diff --git a/static/img/update/win/toolchain.png b/static/img/update/win/toolchain.png index be4dd77..756ddd2 100644 Binary files a/static/img/update/win/toolchain.png and b/static/img/update/win/toolchain.png differ diff --git a/static/img/update/workspace/zw_west_workspace_manage-context.PNG b/static/img/update/workspace/zw_west_workspace_manage-context.PNG new file mode 100644 index 0000000..076b6be Binary files /dev/null and b/static/img/update/workspace/zw_west_workspace_manage-context.PNG differ diff --git a/static/img/update/workspace/zw_west_workspace_new.PNG b/static/img/update/workspace/zw_west_workspace_new.PNG new file mode 100644 index 0000000..9f767fa Binary files /dev/null and b/static/img/update/workspace/zw_west_workspace_new.PNG differ diff --git a/static/img/update/zw_sdk_import_gnu.PNG b/static/img/update/zw_sdk_import_gnu.PNG new file mode 100644 index 0000000..a89029e Binary files /dev/null and b/static/img/update/zw_sdk_import_gnu.PNG differ diff --git a/static/img/zw/analysis/w_dashboard.PNG b/static/img/zw/analysis/w_dashboard.PNG new file mode 100644 index 0000000..922635f Binary files /dev/null and b/static/img/zw/analysis/w_dashboard.PNG differ diff --git a/static/img/zw/analysis/w_dashboard_menu.PNG b/static/img/zw/analysis/w_dashboard_menu.PNG new file mode 100644 index 0000000..bc29751 Binary files /dev/null and b/static/img/zw/analysis/w_dashboard_menu.PNG differ diff --git a/static/img/zw/analysis/wb_dashboard.PNG b/static/img/zw/analysis/wb_dashboard.PNG new file mode 100644 index 0000000..61dbeae Binary files /dev/null and b/static/img/zw/analysis/wb_dashboard.PNG differ diff --git a/static/img/zw/analysis/wb_dashboard_menu.PNG b/static/img/zw/analysis/wb_dashboard_menu.PNG new file mode 100644 index 0000000..f6e4f7c Binary files /dev/null and b/static/img/zw/analysis/wb_dashboard_menu.PNG differ diff --git a/static/img/zw/memory-analysis/ramplot.PNG b/static/img/zw/memory-analysis/ramplot.PNG new file mode 100644 index 0000000..917d5dc Binary files /dev/null and b/static/img/zw/memory-analysis/ramplot.PNG differ diff --git a/static/img/zw/memory-analysis/ramplot_menu.PNG b/static/img/zw/memory-analysis/ramplot_menu.PNG new file mode 100644 index 0000000..a2abae5 Binary files /dev/null and b/static/img/zw/memory-analysis/ramplot_menu.PNG differ diff --git a/static/img/zw/memory-analysis/romplot.PNG b/static/img/zw/memory-analysis/romplot.PNG new file mode 100644 index 0000000..24d63c4 Binary files /dev/null and b/static/img/zw/memory-analysis/romplot.PNG differ diff --git a/static/img/zw/memory-analysis/romplot_menu.PNG b/static/img/zw/memory-analysis/romplot_menu.PNG new file mode 100644 index 0000000..6a04f5e Binary files /dev/null and b/static/img/zw/memory-analysis/romplot_menu.PNG differ diff --git a/static/img/zw/spdx/analyze.PNG b/static/img/zw/spdx/analyze.PNG new file mode 100644 index 0000000..d9b6f3b Binary files /dev/null and b/static/img/zw/spdx/analyze.PNG differ diff --git a/static/img/zw/spdx/cve-bin-tool.PNG b/static/img/zw/spdx/cve-bin-tool.PNG new file mode 100644 index 0000000..43e9c97 Binary files /dev/null and b/static/img/zw/spdx/cve-bin-tool.PNG differ diff --git a/static/img/zw/spdx/ntia-checker.PNG b/static/img/zw/spdx/ntia-checker.PNG new file mode 100644 index 0000000..c7a6d8e Binary files /dev/null and b/static/img/zw/spdx/ntia-checker.PNG differ diff --git a/static/img/zw/spdx/sbom2doc.PNG b/static/img/zw/spdx/sbom2doc.PNG new file mode 100644 index 0000000..edbd2d6 Binary files /dev/null and b/static/img/zw/spdx/sbom2doc.PNG differ diff --git a/static/img/zw/west_manager.PNG b/static/img/zw/west_manager.PNG new file mode 100644 index 0000000..3493bbd Binary files /dev/null and b/static/img/zw/west_manager.PNG differ