Roadmap

For the following tables, this legend applies:

  • 🟢 available
  • 🟡 feature implementation progressing
  • 🔴 investigating for alternative solution

Project management

Project creation and organization

Feature Description Timeline
Project creation Create, open, and manage CMSIS solution projects 🟢/link
Multi-project solution Manage multiple related projects within a single CMSIS solution 🟢/link
Multi-solution workspace Manage multiple solutions within one workspace 🟢 (VS Code built-in)
Target types Multiple targets (e.g., HW, models) within one solution 🟢/link
Build types Multiple build types (e.g., Debug, Release) within one solution 🟢/link
File groups Logical grouping of source, header, and library files 🟢/link
Layer support Easily retarget hardware connections 🟢/link
Software components Manage software components on a project/layer level 🟢/link
Manage packs Manage CMSIS-Packs and versions graphically 🟡
Zephyr project support Build and debug Zephyr-based applications 🟢/link
Configuration Wizard GUI-assisted generation and modification of configuration code 🟢/link

Build system

Feature Description Timeline
Integrated build Based on CMSIS-Toolbox 🟢/link
Incremental build Dependency tracking to rebuild only changed files 🟢/link
Toolchain options Per-target configuration of compiler, assembler, linker, and debugger 🟢
west support Build Zephyr projects natively 🟢

Build output and feedback

Feature Description Timeline
Map file Memory map of the image 🟢
Build log Detailed output of errors, warnings, and build status 🟢/link
Error navigation Direct navigation from build messages to source code 🟢/link

Integration and extensibility

Feature Description Timeline
External tools Invoke third-party tools via configurable commands 🟢/link
Version control Excellent integration with Git 🟢 (VS Code built-in)
AI coding agents Integration with third-party coding agents 🟢 (via VS Code extensions)
Additional extensions Use third-party extensions with Keil Studio 🟢 (VS Code built-in)

Compiler support

Feature Description Timeline
Arm Compiler for Embedded (AC6) Professional toolchain from Arm 🟢
Arm Toolchain for Embedded (ATfE) Open-source, LLVM-based toolchain from Arm 🟢
Arm GNU Toolchain (GCC) Open-source, GCC-based toolchain from Arm 🟢
Clangd support For comprehensive code completion 🟢
Library generation Generate libraries using library manager 🟢
Compiler and assembler control options Interface for configuring compiler flags and options 🟢

Debug

Core debug control

Category Debug Features Timeline
Run control Run, halt, reset, step into, step over, step out 🟢/link
Breakpoints Various types of breakpoints 🟢/link
Watchpoints Data read/write/access breakpoints (DWT) 🟡
Multi-core Single GUI for multiple cores in a device 🟢/link

Register and memory inspection

Category Debug Features Timeline
Core registers R0–R15, PSR, MSP, PSP, CONTROL 🟢/link
Core peripheral registers NVIC, SysTick, MPU 🟡
Peripheral registers CMSIS-SVD decoded peripheral views 🟢/link
Memory inspection Configurable memory views 🟢/link
Memory inspection Memory access breakpoints 🟢/link
Memory inspection Memory window live update 🟢/link

Source-level debugging

Category Debug Features Timeline
Variables Call stack view 🟢/link
Variables Local variable inspection 🟢/link
Disassembly Disassembly window 🟢/link
Disassembly Sync Disassembly and source 🟡
Variable inspection Inline variable display 🟢/link
Variable inspection Variable hover inspection 🟢/link
Execution flow Function call trace 🟡

Real-time and trace features

Category Debug Features Timeline
Serial wire output ITM printf-style output 🟡
Variable tracing Real-time data watch 🟢/link
Event tracing Exception trace 🟡
Event tracing Interrupt trace 🟡
Sampling CPU time 🟢/link
Embedded trace buffer ETB instruction trace 🟡
Micro trace buffer MTB instruction trace 🟡
Instruction trace Embedded trace macrocell 🔴

Component Viewer and Event Recorder

Category Debug Features Timeline
Component Viewer Display and live update 🟡
Event Recorder Show event information 🟡
Event Recorder Save/log 🟡
Event Recorder Event filtering 🟡
Event Recorder Event statistics 🟡

RTOS awareness

Category Debug Features Timeline
RTOS support Keil RTX5, FreeRTOS, Zephyr awareness 🟢/link
Thread visibility Thread list and state display 🟢/link
Stack usage Per-task stack usage 🟢/link

Analysis and visualization

Category Debug Features Timeline
Logic Analyzer Graphical variable and signal display 🟡
System Analyzer Data trace, core clock, ITM, current/voltage 🟡
Serial monitor Communication via serial/TCP ports 🟢/link
Performance analysis Execution time analysis 🔴
Performance analysis Function profiling 🔴
Execution statistics Code coverage 🔴
Execution statistics Timing statistics only via Event Recorder

Simulation

Category Debug Features Timeline
Fast models (FVPs) Instruction-accurate CPU simulation 🟢/link
Debug FVPs Debugging on FVPs 🟡

Note

FVP simulation models are not available in the MDK-Essential edition.

Debug probe support

Category Debug Features Timeline
Debug probes ULINK2/UILNKplus support 🟢/link
Debug probes UILNKpro support 🟡
Debug probes CMSIS-DAP support 🟢/link
Debug probes J-Link support 🟢/link
Debug interfaces SWD 🟢
Debug interfaces JTAG 🟢
Debug interfaces Target detection 🟢/link
Debug interfaces Connect configuration 🟡
Flash programming Flash download 🟢/link
Flash programming Flash verification 🟡
Flash programming Configuration 🟡