Getting Started with DS-5 Development Studio

This tutorial takes you through the process of downloading and installing the evaluation version of Arm DS-5 Development Studio. It then guides you through creating a simple bare-metal "Hello World" application and finally running it on a debug configuration for a Cortex-A9 Fixed Virtual Platform (FVP) provided with DS- 5.

Getting Started with DS-5 Development Studio

This tutorial takes you through the process of downloading and installing the evaluation version of Arm DS-5 Development Studio. It then guides you through creating a simple bare-metal "Hello World" application and finally running it on a debug configuration for a Cortex-A9 Fixed Virtual Platform (FVP) provided with DS- 5.

Downloading and Installing DS-5

DS-5 is available for both Windows and Linux hosts. See DS-5 System Requirements for a list of supported hosts.

Download the appropriate DS-5 installer for your host (either Windows or Linux).

Download DS-5

Extract the files from the downloaded .zip file and run setup.exe. Then follow the simple on-screen installation instructions.

Note: During installation, you might receive warnings such as "Windows can't verify the publisher of this driver software" you can safely ignore these warnings and continue with the installation.

Once installed, on Windows 7 platforms, you can find DS-5 under Start menu > All Programs > Eclipse for DS-5

Extract the installer from the downloaded archive file, run (not source) and follow the on-screen instructions. The installer unpacks DS-5 into your chosen directory, and optionally installs device drivers and desktop shortcuts.

Note: The installer includes device drivers that require you to run with root privileges.

Starting DS-5 and Setting up your Workspace

  1. To start DS-5, from your desktop menu, select Eclipse for DS-5.
  2. In the Workspace Launcher dialog, accept the default workspace, or click Browse and select a folder. For example, C:\DS-5_Workspace.


      3. Select Use this as the default and do not ask again option and click OK
      4. If you are using DS-5 for the first time, then the No License Found dialog is displayed.
      5. Click Open License Manager to use the License Manager to add a license.

Acquiring a License

After installing DS-5, you have to acquire a license to use it. For this tutorial, we are going to use a 30-day evaluation license that allows you to use DS-5 Ultimate Edition for 30 days without any restrictions.

Note: You need to be connected to the internet and have an Arm developer (Silver) account to obtain a DS-5 evaluation license.

  1. In the No Licenses Found dialog, click Open License Manager.

  2. In the Arm License Manager dialog, click Add License.

  3. In the Add License dialog, select Generate a 30-day evaluation license for DS-5 Ultimate Edition option and click Next.

  4. In the Choose network interface dialog, select a network interface.

    Note: Arm recommends selecting a physical network interface. If a virtual interface is selected, the license stops working if the MAC address of the interface is changed.


  5. In the Developer account details dialog, enter your Arm developer (Silver) account details. If you do not have an account, create one.


  6. Click Finish.

    When the license is successfully registered, the 30-day evaluation license and the toolkit that is available to you are visible in the Arm License Manager.


  7. Close the Arm License Manager and in the Confirm Restart Eclipse dialog, click Restart Eclipse. This restarts Eclipse and brings up the DS-5 Welcome Page.
  8. Either close the Welcome page, or click Go to workbench to view the full DS-5 IDE.


You are now ready to use DS-5.

Creating a simple Hello World C program for a bare-metal target

After installing and acquiring a license to work with DS-5, this tutorial takes you through creating, configuring, and building a simple bare-metal program.

To run your application once it is built, the tutorial then takes you through the steps of configuring a debug connection to a system model implemented in software. These models are called Fixed Virtual Platforms (FVP) and some are provided with DS-5. This tutorial uses the VE_Cortex_A9x1FVP model which is based on the Cortex-A9 processor.

Creating a New C Project

  1. From the DS-5 main menu, select File > New > C Project to display the C Project dialog.
  2. In the C Project dialog:
    1. In Project name field, enter HelloWorld as the name of your project.
    2. Under Project type, select Executable > Empty Project.

      When selecting the Executable option, the toolchain assumes that the application is executed directly on the hardware instead of on top of a complex operating system such as Linux.

    3. Under Toolchains, select Arm Compiler 5.


    4. Click Finish to create a C project called Hello World.

      You can view the project in the Project Explorer view.

      Project Explorer - Hello World

Specifying a RAM Base Address

To load and execute the application on the target, before compiling the application, we need to tell the linker the target RAM base address. This ensures that the application is built correctly for the particular target.

The VE global model memory map contains the memory address details required for the VE FVP model used in this tutorial.

We can see that the memory address range for VE FVP models (4GB DRAM (in 32-bit address space)) is between 80000000 and FFFFFFFF. This gives us the RAM base address as 0x80000000.

  1. In Project Explorer, right-click the project and select Properties.
  2. In the Properties dialog:
    1. Browse to C/C++ Build > Settings.
    2. Under the Tool Settings tab, browse to Arm Linker 5 > Image Layout.
    3. In the RO base address (--ro_base) field, enter 0x80000000.
    4. Click OK to close the dialog and apply the changes.

Write the Source Code and Building the Project

  1. In the Project Explorer view, right-click the Hello World project and select New > Source File.


  2. In the New Source File dialog, enter the file name hello_world.c.


  3. Click Finish to create the source file and open it in the code editing view.

    Code Editing View

    The source file is also visible in the Project Explorer view, under the Hello World project.


  4. Add the following code to the new source file, and press CTRL+S to save it.
    #include <stdio.h>
    int main(){
        printf("Hello World\n");
  5. In the Project Explorer view, right-click on the Hello World project and select Build Project.

You can view the output image hello_world.axf in the Debug folder under the HelloWorldproject.

The .axf file contains both the object code and debug symbols that enable the debugger to perform source-level debugging.

Debug the application on a Fixed Virtual Platform (FVP)

Once you have created the project and built the code, launch the debugger to run the application on one of the Fixed Virtual Platforms (FVP) provided with DS-5.

For this tutorial, we use a Cortex-A9 Fixed Virtual Platform (FVP) which is provided with DS-5.

Create a DS-5 Debug Configuration and Connecting to an FVP

  1. From the DS-5 main menu, select Run > Debug Configurations.
  2. In the Debug Configurations dialog:
    1. Select DS-5 Debugger.
    2. Click the New launch configuration button.


      This creates a new DS-5 debug configuration and displays the various tabs required to specify settings for loading your application on the target.

      Debug configurations - Tabs

  3. In the Debug Configurations dialog:
    1. Give a name to the debug configuration. For example, HelloWorld_FVP.
    2. In the Connection tab, under Select Target, browse and select Arm FVP (Installed with DS-5) > VE_Cortex_A9x1 > Bare Metal Debug > Debug Cortex-A9.


    3. Select the Files tab, and under Target Configuration in the Application on host to download field, click Workspace.


      The Workspace contains the HelloWorld.axf application file you created when you built the Hello World project.

      Note: Ensure that the Load symbols option is selected.

    4. Select HelloWorld.axf.