Skip to content

ARM-software/vscode-cmsis-csolution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arm CMSIS Solution

The Arm® CMSIS Solution extension is a graphical user interface for csolution projects that use the CMSIS-Toolbox. The extension supports microcontroller devices that incorporate Arm Cortex®-M processors and Arm Ethos®-U Neural Processing Units (NPUs), and works with various C/C++ compilers and debuggers.

This extension is free to use and you can install it individually or as part of the Arm Keil® Studio Pack.

Arm CMSIS Solution provides the following views:

  • CMSIS view: Access your source code and actions such as build, run, and debug from the Solution outline.
  • Create Solution view: Create new solutions for devices or boards from template projects or example applications.
  • Configure Solution view: Add layers to your reference applications or select a compiler toolchain for your solutions.
  • Manage Solution view: Manage your solutions with multiple targets, projects, and build types to define the scope of your applications.
  • Software Components view: Access reusable building blocks that are provided in software packs.

Settings: Configure features like pack download, clangd, or usage of web services. When Use Web Services is enabled, Arm CMSIS Solution gets from keil.arm.com information about devices, boards, and examples that are provided in software packs.

Arm CMSIS Solution works as a standalone tool and can also interact with other VS Code extensions:

  • Arm Tools Environment Manager: Installs tools (compiler, debugger, simulation models, and utilities) for software development.
  • Arm CMSIS Debugger: Installs a GDB-based debugger (for CMSIS-DAP, ULINK, JLink, ST-Link, an other adapters) along with pyOCD.
  • Red Hat YAML: Provides syntax support when editing csolution project files such as *.csolution.yml and *.cproject.yml.
  • clangd: Adds smart features to the VS Code editor, including code completion, compile errors, and go-to-definition.

Feature overview

CMSIS Solution Quick Tutorial

For detailed information refer to User Interface in the CMSIS Solution documentation.

CMSIS view

The CMSIS view gives you access to the source code of your application. The CMSIS view shows the multiple projects that belong to the context set. The various elements available for a project are:

  • Board: The name of the target board and documentation.
  • Device: The name of the target device, documentation, and device-specific debug options (*.dbgconf).
  • File groups: Groups used to organize user source code.
  • Constructed-files: Files generated for the CMSIS Run-Time Environment (RTE).
  • Linker: Script files used in the project context and access to linker map file.
  • Components: Reusable software modules that you select in the Software Components view. You can also access documentation or a run configuration generator such as STM32CubeMX or MCUXpresso Config.
  • Layers: Sets of source files, software components, and configuration files that you can reuse in different projects.

Action buttons allow you to build, run, and debug your application, edit csolution project files or manage the solution configuration. The Configuration Wizard offers a graphical view to configuration file options.

Create Solution view

Create Solution

To start a new csolution project, select a board or device and choose from the following project types:

  • Templates: Templates are stub projects providing a minimal setup for the selected use case.
  • Reference applications: Reference applications are hardware-agnostic and require additional software layers with API drivers for the target board selected.
  • CMSIS solution examples: These examples are created for a specific hardware or evaluation board and interface with board and device peripherals.
  • µVision examples: Example projects created for the µVision IDE. Arm CMSIS Solution automatically converts µVision projects to the csolution project format.

Then create the csolution project on the selected folder on your Host computer.

Configure Solution view

Configure Solution

When using a reference application select compatible software layers for your solution from this view.

Software Components view

Software Components

Select reusable software components for your application from this view.

CMSIS-Packs provide software components with other optional items such as configuration files, documentation, and user code templates. A software component typically interfaces with other software components or with device peripherals. The list of software components depends on the device or board selected.

Manage Solution view

Manage Solution

Select a context set from this view. For a given target type, a context set combines related projects which you can build for an application. You might need to use different build types for projects, for example in cases where not all parts of an application require extra debug overhead.

Configuration Wizard

Configuration Wizard

Many configuration files have annotations for the CMSIS Configuration Wizard. Using the Open Preview button in the editor allows you to modify options in a graphical view.

YML Editor Support

YML Editor Support

The YML syntax support in the editor detects errors, provides auto completion, and documentation links on hover over.

Run and Debug

Arm CMSIS Solution generates the Run and Debug configuration files (launch.json and tasks.json) for the Arm CMSIS Debugger and pyOCD. It supports single-core and multi-core configurations for CMSIS-DAP, ULINK, JLink, and ST-Link debug adapters.

The Run and Debug configuration is enabled with the target-set: node and a debugger: setting as shown below:

  target-types:
    - type: FRDM-K32L3A6
      board: FRDM-K32L3A6
      device: K32L3A60VPJ1A
      target-set:
        - set:
          debugger:
            name: CMSIS-DAP
            interface: swd

Related

Submit feedback or report issues

To submit feedback or report issues on the Arm CMSIS Solution extension, please use GitHub issues in the extension repository.

About

Extension support for VS Code CMSIS Project Extension

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 14