Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Tools, Software and IDEs blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
Tools, Software and IDEs blog Arm Development Studio or MDK? Which should you choose?
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
  • Toolchain
  • Keil MDK
  • Arm Development Studio
  • Microcontroller
  • Cortex-M
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Arm Development Studio or MDK? Which should you choose?

Ronan Synnott
Ronan Synnott
January 24, 2019
5 minute read time.

The recently launched Arm Development Studio provides a complete software development solution for all Arm devices. It includes as part of the package a license for Keil MDK, the preferred toolchain for users of Arm Cortex-M based microcontrollers. MDK is also available to purchase standalone, giving users the flexibility to decide on the appropriate solution for their needs. This article is intended to help you decide which tool is right for your needs, as there are a number of parameters to consider:

  • Development Studio is the right choice if your device includes any Arm processor other than those from the Cortex-M family
  • For many microcontroller users, MDK and the µVision IDE therein will continue to provide all the functionality needed. 
  • If MDK meets your needs today but cannot fulfill your future requirements (perhaps you are considering using a Cortex-A based device in your next design), licensing Development Studio will enable you to continue working with MDK and provide an easy migration path to the Development Studio environment when that time comes. 
  • Software packs are supported by both MDK and Development Studio, and so such projects can be created and maintained in either environment. 
  • If you have multiple projects in development, Development Studio can provide a single unified platform for all projects, while maintaining support for legacy projects that you may not wish to migrate to a new toolchain.

Note that older Arm toolchains, such as Arm DS-5 are no longer recommended for use. At the time of writing, existing users of MDK and DS-5 can make use of a promotional trade-in offer to move to Development Studio.

Which product edition should I choose?

Development Studio is available in three distinct editions. MDK has been made available in four generally available editions, as well as special vendor specific editions. For both products, higher editions are always supersets of lower editions – for example there is no feature in Arm DS Bronze Edition that is not also present in the Silver Edition.

If you wish to use MDK with your Development Studio license, be sure to choose the appropriate Development Studio edition. If the specific MDK edition you need is not listed below, then select the next highest alternative. 

  • Arm Development Studio Bronze Edition will enable MDK Essential Edition
  • Arm Development Studio Silver and Gold Editions will enable MDK Professional Edition
  • Any MDK standalone license will NOT enable any edition of Development Studio 
  • The Development Studio evaluation license provides functionality equivalent to a Gold Edition license, including enabling MDK Professional Edition for the evaluation period.

Despite the license file enabling both, you should consider Development Studio and MDK to be distinct tools, and as such, capabilities should be considered independent. For example, secure code for Armv8-M cores can be built with Development Studio Bronze Edition, but not within MDK Essential Edition, despite Essential Edition being enabled by the Bronze Edition license.

I use MDK today, should I stay with MDK?

MDK is a highly capable, mature, product, with over 30 years of development history. The µVision IDE is easy to use, and very familiar to many. MDK will continue to support a wide range of Arm-based microcontrollers, including those based on the latest Armv8-M CPUs.

There are several features within the IDE that are unique to that platform and are not (yet) supported within Development Studio. Examples of these features include: 

  • Code coverage via ULINKpro 
  • Power measurement and test automation via ULINKplus 
  • Component Viewer, Event Recorder, and Event Statistics

You may have built up a testing infrastructure based around the scripting capabilities of µVision. While Development Studio also supports such scripting functionality, the languages are very different, and so it may take time for you to re-implement.

I use MDK today, should I change to Development Studio?

There are many reasons for you to consider migration to the Development Studio IDE. I remind again that purchase of Development Studio includes a license for MDK, which means that you do not need to switch all aspects of your development immediately.

Development Studio provides a single development platform for all your needs.

  • MDK is primarily designed to work with standard Cortex-M based microcontrollers. Development Studio is designed to work with devices with any Arm processors, in any configuration, and can automatically detect the configuration from the target.
  • There is a general industry trend towards higher levels of integration, combining, for example, a typical microcontroller feature set alongside an applications processor. Development Studio can import your existing MDK projects for easy reuse of existing code and projects.
  • Organizations with multiple Arm based projects can benefit from using a single tool for all projects, providing consistency for engineers who move to different projects, as well as economic benefits.

Access to features not available in MDK

  • Support for Arm Fast and Cycle Models of all Arm CPUs, and the DSTREAM family of high performance debug adapters. 
  • Streamline Performance Analyzer
  • Mali Graphics Debugger Professional Edition
  • Development Studio IDE is built on Eclipse IDE, giving access to a vast range of plugins from the Eclipse community.
  • Development Studio is supported on Windows and Linux hosts. MDK is a Windows only environment

I use DS-MDK today, should I move to Development Studio?

DS-MDK was supplied with certain MDK editions and provided support for a limited number of heterogeneous systems. This product is no longer being developed, and it is recommended that all users migrate to Development Studio IDE, which supports all features of DS-MDK in the Bronze (and higher) editions.

Existing DS-MDK projects and workspaces can be easily imported to Development Studio.

In summary

MDK is a mature, highly-capable development environment for embedded microcontrollers. Development Studio is a complete environment for any Arm based platform and gives MDK users an easy path to migrate their programs to more advanced devices. If you have any further questions regarding your particular situation, do not hesitate to contact Arm or your local representative, and we will be happy to advise.

Why not try Development Studio out for yourself by downloading a free 30-day evaluation license?

Download free trial

Anonymous
  • myview
    Offline myview over 1 year ago

    Great article. A pricing comparison would have made it yet better.

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
  • MK wow
    Offline MK wow over 4 years ago

    What a nice article~!

    Thank you~

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Tools, Software and IDEs blog
  • What is new in LLVM 16?

    Pablo Barrio
    Pablo Barrio
    Arm contributions from Arm to the new release include the usual architecture and CPU additions and new features such as, function multi-versioning and strict floating point support.
    • May 1, 2023
  • Product update: Arm Development Studio 2023.0 now available

    Ronan Synnott
    Ronan Synnott
    Arm Development Studio 2023.0 now available with support for Arm Neoverse V2 processor.
    • April 27, 2023
  • What is new in LLVM 15?

    Pablo Barrio
    Pablo Barrio
    LLVM 15.0.0 was released on September 6, followed by a series of minor bug-fixing releases. Arm contributed support for new Arm extensions and CPUs.
    • February 27, 2023