12.12.1. Types of binding

RealView Debugger binds a project using either:

Default binding

When you first create a Standard, Library, or Custom project, you must specify the toolchain to use, for example ARM-C2. To do this, use the Toolchain drop-down list box on the Create New Project dialog box (see, for example, Steps for creating a Standard or Library project). This entry, in the project settings file, determines the default binding for the project.

Note

RealView Debugger populates this setting automatically when it creates an in-memory auto-project for an image that you load directly to a debug target.

If you connect to a debug target and open a user-defined project, RealView Debugger attempts to bind the project by default:

  • If the connection does not correspond to the processor family for the project, the project opens but it does not bind. If the project does not bind, the image name is not registered. This means that RealView Debugger cannot autoload the image on a GO or RELOAD command.

    See SETTINGS group for more details.

  • If the connection corresponds to the processor family and there is no project already bound to the connection, RealView Debugger binds the project by default.

  • If the connection corresponds to the processor family and there is a project already bound to the connection by default, RealView Debugger gives you the option to unbind the active project and bind the new project.

    If you choose not to bind the new project, the project opens but is unbound.

  • If the connection corresponds to the processor family and there is a project already autobound to the connection, RealView Debugger displays a warning that it cannot complete the binding. This is because default binding cannot displace an autobound project. The project opens but is unbound. See Autobinding for details about autobound projects.

This behavior means that you can always open a user-defined project, and make changes to the project settings file, even if your connection is not a suitable debug target for that project.

See Effects of binding and Effects of unbinding for more details on changing binding.

Autobinding

You can specify that a project can only bind to a specific processor or device, by name, using the Specific_device entry in the project settings file, shown in Figure 12.17. You can do this when you first create the project or update this setting later.

Figure 12.17. Specifying autobinding

Specifying autobinding

This close coupling of project and target processor is called specific device binding and forces RealView Debugger to use autobinding when the project opens. If autobound, the project only binds to the named device. If this is not set, RealView Debugger uses default binding to determine project binding.

The value of the specific device binding relates to the configured device names in the RVConfig dialog box associated with the connection. These entries are shown as the target processors in the Connection Control window. The default processor is ARM7TDMI, but you can change this to a different name if required. See the RealView ICE Micro Edition v1.1 User Guide for more details on the RVConfig dialog box.

Note

You cannot force an autobound project to bind to a device that does not match. You must change the Specific_device setting first, see Adding Specific_device settings for details. It is not necessary to open the project before rebinding. See Forcing binding for details on defining binding behavior.

Autobinding gives a project priority over other projects when it opens to a connection:

  • If the connection does not correspond to the named device, the project opens but it does not bind.

  • If the connection corresponds to the named device and there is no project already bound to the connection, RealView Debugger autobinds the project.

  • If the connection corresponds to the named device and there is a project already bound to the connection, using autobinding or default binding, RealView Debugger unbinds the active project and autobinds the new project. There is no warning.

  • If the connection partially corresponds to the named device, for example the Specific_device entry is set to ARM, and there is a project already autobound to the connection, for example where the Specific_device entry is set to ARM7, RealView Debugger unbinds the active project and autobinds the new project. There is no warning.

If you open a user-defined project that has no Specific_device entry specified and there is a project already autobound to the connection, RealView Debugger displays a warning that it cannot complete the binding. This is because default binding cannot displace an autobound project.

Note

Autobound projects might not get priority:

Adding Specific_device settings

The Specific_device setting defines a device to which a project can autobind. By default, this is ARM7TDMI_0.

To specify autobinding:

  1. Select Project → Project Properties... to display the Project Properties window.

  2. Select the *PROJECT group in the List of Entries pane.

  3. Right-click on the Specific_device setting in the Settings Values pane and select Edit Value from the context menu.

  4. Enter the specific device name, ARM7TDMI_0, then press Enter to complete the entry. Alternatively, you can specify a family name. For example, if you have renamed the processor to ARM7TDMI you the family name is ARM7.

    A new setting is created, for example *Specific_device ARM7TDMI_0. Each device you add creates another entry.

  5. Select File → Save Changes to save your changes. The makefiles for the project are regenerated.

  6. Select File → Close Window.

If the project is already bound then changing the Specific_device settings value does not reset the binding. RealView Debugger only attempts to autobind when you open a project. Therefore, after changing the Specific_device settings value either:

  • reopen the project to see the change

  • use the Project Control dialog box to rebind the project (see Forcing binding for details).

Note

To restore the setting, right-click on the Specific_device setting in the Settings Values pane and select Delete from the context menu.

When setting a Specific_device value, names must match device names listed in the RVConfig dialog box for the connection.

Copyright © 2003, 2004 ARM Limited. All rights reserved.ARM DUI 0234B
Non-Confidential