MDK Microcontroller Development Kit

Keil MDK-ARM is the most comprehensive software development solution for ARM Cortex-M microcontrollers. It includes IDE, C/C++ compiler, debugger, software pack management and CMSIS. MDK software packs add device support and software components that are managed using the new Run-Time Environment (RTE). Real-time debug and trace capabilities are improved with RTOS stack watermarking and Event Viewer.

 The MDK-Plus edition adds middleware components and the MDK-Professional adds encryption and a TÜV-certified compiler for safety critical applications.

MDK-ARM Components

MDK Core

  • µVision IDE and Debugger
  • ARM C/C++ Compiler toolchain
  • Pack Installer for managing Software Packs

Software Packs

  • Device Family Packs add device support and example projects for evaluation boards.
  • CMSIS is a standard software framework for Cortex-M microcontrollers.
  • MDK Middleware adds software components for communication, file storage and graphic displays.

Product Overview

Design and Test Productivity

The Run-Time Environment (RTE) in MDK Version 5 enables you to use validated Software Components in your project. You can access related documentation quickly, get context sensitive help for API functions, and use code templates for faster coding. MDK Version 5 improves also RTOS support with stack watermarking. The Event Viewer precisely shows the multi-tasking behavior of your embedded application.

Software Packs and Software Components

After the installation of a Software Pack the contained software components become available in the MDK Run-Time Environment (RTE). RTE provides access to documentation and allows you to add, remove or update a software component in your project. For most components, code templates provide a starting point for application development.

Debug and Trace

The µVision Debugger gives you full access to debug and trace of an Cortex-M based system. You may use run/stop debugging or analyze a running system using trace. Trace enables additional debug views such as Logic Analyzer, Event Viewer, Performance Analyzer, Code Coverage, and Instruction Trace. These debug views show the dynamic behavior of your application and let you optimize algorithms or identify sporadic errors.

Manage and Archive Projects

The precise version information of the Software Packs and Software Components is important during product lifecycle management (PLM) of an embedded application. For new projects you can easily explore and update software components. For released projects you can freeze the Software Pack versions. The build log gives you a lists of components used in the application to create an archive for long-term service.