MDK Microcontroller Development Kit

Keil® MDK is the most comprehensive software development solution for Arm®-based microcontrollers and includes all components that you need to create, build, and debug embedded applications.

Product Components

MDK-Core is based on µVision (Windows only) with leading support for Cortex-M devices including the new Armv8-M architecture.

DS-MDK contains the Eclipse-based (Windows and Linux) DS-5 IDE/Debugger and supports 32-bit Arm Cortex-A processors or heterogeneous systems (32-bit Arm Cortex-A and Arm Cortex-M).

MDK includes two Arm C/C++ Compilers with assembler, linker, and highly optimize run-time libraries that are tailored for optimum code size and performance.

Software Packs may be added any time to MDK-Core or DS-MDK making new device support and middleware updates independent from the toolchain. They contain device support, CMSIS libraries, middleware, board support, code templates, and example projects.

The IPv4/IPv6 networking communication stack is extended with Arm mbed™ software components to enable Internet of Things (IoT) applications.


MDK Editions

Feature MDK Edition
Professional Plus Essential Lite
All-in-one solution
including Middleware
and Cortex-A
Supports all microcontroller cores and Middleware Supports selected
Free with code size limit:
32 KBytes
IDE with EditorPack Installer
Debugger 32 KByte
Fixed Virtual Platforms Simulation Models
Cortex-M only
ARM® C/C++ Compiler
Compiler, Linker, Libraries, and Utilities 32 KByte
Functional Safety Support and Extended Maintenance      
DS-MDK (Windows + Linux Hosts)
Support for Heterogeneous Devices    
Streamline System Analysis      
Device Support
ARM Cortex-M0/M0+/M3/M4/M7
ARM Cortex-M23/M33 
Non-secure only
ARM Cortex-M23/M33 
Secure and non-secure
ARMv8-M Architecture Models 
including FastModel
ARM SecurCore®    
ARM7, ARM9, ARM Cortex-R4    
RTOS and Middleware
CMSIS-RTOS RTX (with full source code)
IPv4 Network, USB Device, File System, Graphics
IPv6 Network, USB Host, mbed TLS
Debug and Trace Support
ULINK Debug Adapters
Streaming Instruction Trace,
Embedded Trace Buffer, Micro Trace Buffer
Advanced Analysis Tools
Code Coverage, Performance Analyzer,
Execution Profiler, Logic Analyzer
Support and Maintenance
Updates and Technical Support Included 12 Months 12 Months 12 Months  

License Types

A node-locked license allows using MDK by exactly one person on a maximum of two computers (single-user). No network connection required.

A Floating-User License allows developers to use MDK on multiple computers. Floating-User Licenses require a file server hosting a license file. A network connection to check out the floating-user license is required.

FlexLM Floating:
A FlexLM License allows developers to use MDK on multiple computers. A network connection to check out a FlexLM license is required.

MDK for STMicroelectronics STM32F0 and STM32L0:
The MDK for STMicroelectonics STM32F0 and STM32L0 is a license paid by STMicroelectronics. It is free-to-use for software developers working with STM32 devices based on the ARM Cortex-M0 and ARM Cortex-M0+ cores.

System Requirements

All MDK editions are designed for 32-bit and 64-bit variants of Microsoft Windows and have the same system requirements. DS-MDK also runs on Linux hosts.