ARM Technical Support Knowledge Articles

How do I add bare-metal support for a new target in DS-5?

Applies to: DS-5


DS-5 does not directly support connections to generic ARM processors. Instead, DS-5 maintains a database of supported targets and only allows connection to a target once it has been imported into the configuration database. The configuration database allows configuration specific functionality such as trace implementations and platform specific memory mapped registers to be supported in DS-5 without additional post connection steps.

This article will provide steps for adding bare-metal debug support for single or multi-core targets. Please note that this article will not cover adding trace support or memory mapped register support for target connections. If assistance in these areas is required then please contact ARM technical support by emailing ARM Support at

In order to follow this article it is required to have DS-5 v5.8 or later installed. The article makes an assumption that DS-5 has been installed on a Linux machine; although the same steps are used on supported Windows platforms (paths may be different).

This article assumes DS-5 has been installed here: /usr/local/DS-5

The following tools are required:

  1. Realview ICE (RVI) or DSTREAM JTAG run control unit
  2. Hardware Configuration utility (/usr/local/DS-5/bin/dbghwconfig)
  3. Configuration Database Importer utility (/usr/local/DS-5/bin/cdbimporter)

The two utilities mentioned above are provided as part of the DS-5 installation. The main DS-5 configuration database is located here:


Note that no changes will be made to the main configuration database. Instead, an additional configuration database in a user-writeable location on your machine will be created. The final step will be to update DS-5 to include the path to the new configuration database.

Creating a new platform configuration for your target:

  1. Select a writeable location on your machine and create a ‘configdb’ folder.

    Example:    /home/userx/configdb

  2. Run the Hardware Configuration Utility and auto-detect the components implemented on the target. If the auto-detection fails to detect any ARM processors, please contact ARM support for further assistance.

    Save the configuration file for the next step (e.g. /home/userx/target.rvc)

  3. Run the Configuration Database Importer utility with the appropriate parameters.

    Usage:   cdbimporter [-c config_db] [-t destination_db] rvc_file

    config_db - full path to main DS-5 configuration database
    destination_db - full path to new configuration database
    rvc_file - full path to RVC file produced by the Hardware Configuration utility

    Running the importer:

    cdbimporter -c /usr/local/DS-5/sw/debugger/configdb -t  /home/userx/configdb  /home/userx/target.rvc

    Select a core to modify (enter the index and hit return) or press enter to continue. [] : PRESS ENTER

    Enter Platform Manufacturer
    [default:'Imported'] >  COMPANYX

    Enter Platform Name
    [default:'target'] > PLATFORMX

    The files created by the importer utility will be located in the specified configuration database. In this example the files will be located here:


  4. Launch the DS-5 debugger (/usr/local/DS-5/bin/eclipse) and add the new configuration database path. Open the “Window” menu and select “Preferences”.  Expand the “DS-5” category and select the “Configuration Database” area on the left. Use the “New...” button to add the full path to the new configuration database and use the “Up” and “Down” buttons to ensure the new entry is at the top of the list.

  5. In the same window as above, click on the “Rebuild Database...” to ensure the new target definitions are loaded.

The new target should now be available from the target dropdown box in the launcher panel. Please refer to the online DS-5 documentation for help connecting to your new target. 

If you have any questions or the new target connection is not working, please do not hesitate to contact ARM support at Please also provide us with your RVC file as produced by the Hardware Configuration utility. 

Article last edited on: 2014-04-03 14:50:45

Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential