Arm Keil Studio Pack for Visual Studio Code
Overview
The Arm® Keil® Studio Pack installs recommended extensions for embedded and IoT software development on Arm-based microcontroller (MCU) devices. The extensions included are listed in the Details of the pack in Visual Studio Code and described in Extensions available in the pack.
We recommend installing the Keil Studio Pack in Visual Studio Code Desktop to quickly set up your environment.
The main Keil Studio extensions available with the pack are Arm CMSIS Solution, Arm Device Manager, and Arm Debugger. The extensions enable you to manage CMSIS solutions (csolution projects), run projects on a hardware device, and undertake debugging. You can use the extensions together or individually.
This README file explains how to install the extensions with Visual Studio Code Desktop. When you have installed the pack, read the documentation available on Arm Developer to get started. You can import a solution example from keil.arm.com, download a μVision project from keil.arm.com, create a solution from scratch, or convert an existing μVision project.
Intended use cases for the extensions
Embedded and IoT software development using CMSIS-Packs and solutions (csolution projects): The Common Microcontroller Software Interface Standard (CMSIS) provides driver, peripheral, and middleware support for thousands of MCUs and hundreds of development boards. Using the csolution project format, you can incorporate any CMSIS-Pack based device, board, and software component into your application. For more information about supported hardware for CMSIS projects, go to the Boards and Devices pages on keil.arm.com. For information about CMSIS-Packs, go to open-cmsis-pack.org.
Enhancement of a pre-existing Visual Studio Code embedded software development workflow: You can adapt USB device management and embedded debug to other project formats (for example, CMake) and toolchains without additional overhead. This use case requires familiarity with Visual Studio Code to configure tasks. See the individual extensions for more details.
Extensions available in the pack
The extensions available are:
Arm CMSIS Solution (Identifier: arm.cmsis-csolution
): This extension provides support for working with CMSIS solutions (csolution projects).
Arm Device Manager (Identifier: arm.device-manager
): This extension allows you to manage hardware connections for Arm Cortex®-M based microcontrollers, development boards, and debug probes.
Arm Debugger (Identifier: arm.arm-debugger
): This extension provides access to the Arm Debugger engine for Visual Studio Code by implementing the Microsoft Debug Adapter Protocol (DAP). Arm Debugger supports connections to physical targets, either through external debug probes such as Arm's ULINK™ family of debug probes, or through on-board low-cost debugging such as ST-Link or CMSIS-DAP based debug probes.
Arm Environment Manager (Identifier: arm.environment-manager
): This extension installs the tools that you specify in a manifest file in your environment. For example, you can install Arm Compiler for Embedded, CMSIS-Toolbox, CMake, and Ninja to work with CMSIS solutions.
Arm Virtual Hardware (Identifier: arm.virtual-hardware
): This extension allows you to manage Arm Virtual Hardware models and run embedded applications on them. An authentication token is required to access the service.
Arm Debugger is also an extension pack that contains the following extensions:
Memory Inspector (Identifier: eclipse-cdt.memory-inspector
): This extension allows you to analyze and monitor the memory contents in an embedded system. It helps you to identify and debug memory-related issues during the development phase of your project.
Peripheral Inspector (Identifier: eclipse-cdt.peripheral-inspector
): This extension uses System View Description (SVD) files to display peripheral details. SVD files provide a standardized way to describe the memory-mapped registers and peripherals of a microcontroller or a System-on-Chip (SoC).
Note:
The Arm Virtual Hardware extension is in development, and is not described in the documentation.
The Memory Inspector and the Peripheral Inspector are third-party open-source extensions and are not described in the documentation.
The pack also installs:
Red Hat YAML (Identifier: redhat.vscode-yaml
): This extension provides YAML syntax support when editing csolution.yml
or cproject.yml
files.
clangd (Identifier: llvm-vs-code-extensions.vscode-clangd
): This extension adds smart features such as code completion, compile errors, and go-to-definition to your editor.
Submit feedback
To submit feedback, please see our support page.
Telemetry
This extension collects usage telemetry and sends it to Arm to help improve our products. This extension respects the Visual Studio Code telemetry settings described in the Visual Studio Code documentation. Modify telemetry options in the settings menu.
License agreement
Usage of this extension implies acceptance of the end user license agreement.