Keil Logo

MDK Core & Software Packs

Learning Platform
MDK Core

MDK-Core is based on µVision with leading support for Cortex-M devices including the new ARMv8-M architecture. Pack Installer is used to download, install, and manage Software Packs. The µVision Debugger enables you to test, verify, and optimize your application code. It fully supports streaming trace for debugging of historical sequences, execution profiling, performance optimization, and code coverage analysis.

Software Packs make new device support and middleware updates independent from the toolchain.

  • A list of all public Software Packs is available. These Packs provide additional middleware or device support.
  • The Device Database shows all microcontroller devices that are supported by Software Packs.
  • Third-Party Software Packs provide additional middleware from ARM partners.

Benefits of Software Packs

Select Device

Access Device Information

The installation of a Device Family Pack (DFP) adds the support for a complete microcontroller series. Selecting a device in the µVision Project Manager shows only relevant tool options and pre-configures the parameters for assembler, compiler, linker, and debugger with flash programming algorithms.

This selection gives you device-specific access to documentation, system/startup code, source code templates, and software components for peripheral access from within the IDE.

Select Software Components

Use Many Proven Software Components

Software Packs install software components with building blocks that help you to efficiently utilize the features of modern microcontrollers. The CMSIS Software Pack gives you core peripheral access, DSP functions, and the CMSIS-RTOS RTX real-time operating system. A DFP adds frequently used software components for device peripheral access, and MDK-Professional's Middleware Software Pack includes complete software stacks for communication, file storage, and graphic. Additional software components are available from many third-party companies.

Select the software components for your application in the Run-Time Environment (RTE). You can choose between variants (for example debug or release) and quickly access related documentation.

Select Software Packs

Choose Software Pack Versions

MDK allows you to select specific versions for the Software Packs that you are using in your embedded application. Typically, you want to use latest versions of all installed Software Packs during development – this is the default for new projects.

Once your project is in the validation or release phase, you can fix the versions of the Software Packs that are using. MDK will then no longer update Software Packs and the related software components for this project.

MDK also creates a build log that lists all the Software Packs along with the software components used in the application code. Saving the Software Packs along with the MDK Core installer enables you to recreate the application code even after years.

Configuration File Update

Update Software Components

Software components simplify the update to new versions since fixed files (marked with a key symbol in the project window) and configuration files (that contain application specific setup information) are clearly separated from the application code. For both file types, the RTE tracks version information.

When you use a new Software Pack, the related software components are also updated. Fixed files of the component are automatically included. For updated configuration files, MDK shows three different compatibility levels: fully compatible, compatible extensions, and incompatible extensions. The project window's menu command Update Config File and Launch Merge allows you incorporate a new version of a configuration file.

Example Projects Tab

Get Started with Example Projects

Software Packs also include example projects that help you to learn how to use devices, peripherals, and software components. You may use parts of the example in your embedded application or the complete example as a starting point for a new project.

Pack Installer helps you to search the extensive list of available example projects in all public Software Packs. You may list examples that are available for a device, a device series, or an evaluation board. To explore an example, copy the project to your workspace. Then build and execute the example code.

  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.