Keil Logo

DS-MDK: Software Development for Cortex-A/M

Learning Platform
Attention: The capabilities of DS-MDK are now supported in Arm DS. Refer to Arm Development Studio for more information.​

DS-MDK combines the Eclipse-based DS-5 IDE and Debugger with CMSIS-Pack technology and uses Software Packs to extend device support for devices based on 32-bit ARM® Cortex®-A processors or heterogeneous systems based on 32-bit ARM Cortex-A and ARM Cortex-M processors. Software Packs for NXP's i.MX6, i.MX7, VF5xx, and VF6xx are available now. Support for Atmel SAMA5 and Renesas RZ/A is under development.


This webinar shows how DS-MDK helps you to create, manage, and debug bare-metal programs and Linux applications on heterogeneous systems.

DS-MDK: Development Solution for Heterogeneous Systems

The DS-5 IDE provides project management for Cortex-M and Linux application development based on Eclipse CDT and can be extended with third-party plug-ins. The DS-MDK specific extensions cover several image viewers and the CMSIS Pack Manager that provides access to the CMSIS framework, software components, and their documentation.

Manage Run-Time Environment

Cortex-M software development is easier and faster when using CMSIS and related software components such as device drivers, board support, and middleware.

Typically, the Cortex-M device in a heterogeneous system executes from resource limited TCM (Tightly Coupled Memory). The ARM Compiler 5 generates the smallest code for Cortex-M based processors, which helps to achieve the best performance on such systems.

Simultaneous Application Debug

The DS-5 Debugger can verify all software applications that execute in the heterogeneous computer system. Complete system visibility is enabled using multiple simultaneous debug connections:

  • The Cortex-M application is debugged using a ULINKpro debug unit. Users can analyze the microcontroller application using RTOS aware-debugging and peripheral views.
  • The Cortex-A Linux kernel is also debugged using a ULINKpro debug unit. The debugger lists kernel threads and processes and shows pending breakpoints on loadable modules and shared libraries.
  • The Cortex-A Linux application is debugged via gdbserver. The debugger supports multi-threaded application debugging and shows pending breakpoints on loadable modules and shared libraries.
DS-5 Debugger

Benefits of Heterogeneous Systems

Heterogeneous systems combine high computing power with fast, efficient I/O performance for application software and deterministic real-time I/O. The Cortex-A application processor runs a feature-rich operating system, such as Linux, and has the computing power for demanding applications. The energy-efficient Cortex-M processor typically executes a real-time operating system (RTOS) that provides fast start-up times. They can be permanently 'on' in battery-powered systems. The two processor systems typically exchange information via a fast, interrupt driven inter-process communication and shared memory.

Heterogeneous Computing System
  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.