Migrating Keil MDK projects to Arm Development Studio

Arm has launched the Arm Development Studio, the latest suite of tools for embedded C/C++ software development on any Arm-based platform. Building on over 25 years of experience, Development Studio incorporates many of the best features of previous tool generations, unifying the development flow in a single, easy to use environment.

 Arm Development Studio

As devices become ever more integrated, and hence ever more complex, so do your requirements for more advanced tools. Perhaps your product was once based on a relatively simple micro-controller, but now has requirements for more sophisticated output display, and so you move to a heterogeneous device, supporting both Cortex-A and Cortex-M class CPUs. However the basic control functionality code remains the same, and so you do not wish to spend time porting this code to a new tool chain, but also do not want to maintain multiple tool chains for a single product.

To address this scenario, Development Studio includes full support for software packs and the MDK middleware. This enables you to import and build projects from Keil MDK and various examples for over 5000 devices, within the Development Studio IDE. In this blog I will discuss the basic steps necessary to import and rebuild your MDK projects, as well as how to create new projects based on these software packs,.

Installation and management of software packs

Open the Pack Manager perspective   to install and manage the packs, examples, and other components that you need. You will see a list of all the supported devices and development boards, and will filter packs based on your selections.

 Pack Manager

Click on the Install button for the ARM.CMSIS pack, as well as the other necessary packs for the device(s) that you are working with (internet access is required). The Search Device and/or Search Pack text boxes can be used to assist locating the desired files. Click to (download and) install the latest version of that pack.

 Pack Manager CMSIS

You can also navigate to the Examples pane of the Pack Manager perspective to copy any of the many example projects available.

 Pack Examples CMSIS

Importing existing projects

Use the Import Project wizard to import existing µVision projects to your Development Studio workspace. Alternatively, right-click on the Project Explorer and select Import from the context sensitive menu, or Import from the File menu.

 Project Explorer Important Project

You will arrive at the import wizard dialog. If necessary, expand the Arm Development Studio folder, and select µVision Project.

Arm Development Studio Import

This will move to the µVision Project Import wizard.

Arm Development Studio µVision Project

Browse to the project file you wish to import and note the various build targets available for that project. For each that you select, a new Development Studio project will be created. Click Finish to proceed.

 Arm Development Studio µVision Project

 Project Explorer

Within the new project, there will be a .rteconfig file, which should open automatically. This is the file that defines which software packs and middleware components are used by the project. The run-time environment manager can be used to specify the components used by the project. Note that these settings are carried over from the µVision project, and so should not need to be edited at this time.

Arm Development Studio

You can also see the build options by right-clicking on the project and selecting Properties (Alt+Enter), and navigate to C/C++ Build → Settings. Click OK to close.

Arm Development Studio Settings

Click on the Build Project icon to rebuild.

Project Explorer Build Project

Create a debug connection

Use the New Debug Connection wizard to set up your debug session via any of the virtual platforms or debug probes supported by Development Studio.

If connecting to a development board, select Hardware Connection. For this example, I will however use one of the Fixed Virtual Platforms (FVP) provided with Development Studio, and so I select Model Connection.

Arm Development Studio New Debug Connection

Click on Next, and you will be prompted to name this particular debug connection. You can create it as a stand alone debug project, or associate it with a relevant build project.

Arm Development Studio Debug Connection

Next, locate the FVP that you wish to use. We will use the Cortex-M3 MPS2 model installed with Development Studio. Use the text filter to ease the search.

 Arm Development Studio Model Connection

Click Finish to move on to the Edit Configuration pane. We now set up what happens upon connection. Navigate to the Files tab, and use the File or Workspace button to locate the image file you wish to use.

 Arm Development Studio Edit Configuration

 Arm Development Studio

Then navigate to the Debugger tab and set to debug either from the image entry point, or from a specific symbol (usually main).

 Arm Development Studio Edit Configuration and Launch

Click on Debug, to launch the model, and connect according to the setting we have made.

 Arm Development Studio Debug Control

Creating new software pack based projects

It is also of course possible to also create a new software based project, using the New Project icon of from the File → New menu option.

Select, for example, a C Project, and then a CMSIS C/C++ Project (building with Arm Compiler 6).

 Arm Development Studio Wizards

 Arm Development Studio C Project

You will then be asked which device the project is for. If your device is not listed, the issue is almost certainly that the appropriate pack has not yet be installed (refer back to the first section to see how to install the necessary packs). Select the device, and click Finish.

 Arm Development Studio C Project

The basic settings from the selected target will be automatically imported to the project, as can be seen within the project properties.

 Arm Development Studio Settings

In the Run-Time Environment configuration view, select the necessary software components for your project (by default none are selected), and save.

 Run-Time Environment configuration view

Your project is now ready for you to start creating your own code to it.

Migrating DS-MDK projects

Users of DS-MDK will also be able to easily migrate their projects to Development Studio. From the Import Project wizard, select Existing Projects into Workspace, and navigate to your DS-MDK workspace. Select the project(s) you wish to migrate, and ensure that Copy projects into workspace is enabled, so that the DS-MDK original is unaffected. For more information on importing these type of projects, please see here.

In conclusion

Moving to a new development environment can be a daunting task. With Development Studio, Arm has enabled existing MDK users to easily migrate their code examples to the new IDE.

But this is only one of the many new features available. Why not try it out for yourself by downloading a free 30-day evaluation license for the product below. Arm will also soon host a free webinar to introduce Development Studio in more detail. To register for this webinar please visit this link.

Download free trial