5.7.3. Configure Target...

You can select and configure a debug target when you start up AXD (see Starting and closing AXD). The Configure Target... item on the Options menu enables you to change the debug target and its configuration during a debug session.

First, a Choose Target dialog displays a list of available targets, as shown in Figure 5.104.

Figure 5.104. Choose Target dialog

Choose Target dialog

If the target you want is not in the list, click the Add button to locate and select the required .dll file. The selection list shows all available.dll files including, for example etm.dll.

When you can see the target you want in the list, select that line as shown in Figure 5.104, and click the Configure button.

The appearance of the configuration dialog depends on the target you selected. Examples follow showing:

Note

In some of these procedures you need to locate and select a required file. A browse dialog helps you do this. However, files of the type you require might not be listed unless you select Windows Explorer ? View ? Options... ? Show all files.

RealView ARMulator ISS configuration

If you need to add RealView ARMulator ISS to the list of available targets in the Choose Target dialog, click Add and in the resulting browse dialog locate and select the armulate.dll file.

Select the RealView ARMulator ISS target line and click the Configure button to display the dialog shown in Figure 5.105.

Figure 5.105. RealView ARMulator ISS Configuration dialog

RealView ARMulator ISS Configuration dialog

The RealView ARMulator ISS Configuration dialog enables you to examine and change the following settings:

Processor

Use the drop-down list to specify which ARM processor you want RealView ARMulator ISS to simulate.

Clock

Choose between simulating a processor clock running at a speed that you can specify, or executing instructions in real time. Entering a speed without specifying units assumes Hz, for example 50 assumes 50Hz. Speeds given in kHz and GHz are also acceptable.

Options

The Floating Point Emulator (FPE) emulates the Floating Point Accelerator (FPA) coprocessor and enables the execution of floating point instructions not supported by the main processor. Check this option to enable FPE.

Debug Endian

Select the byte order of the target system. This setting:

  • Sets the debugger to work with the appropriate byte order.

  • Sets the byte order of RealView ARMulator ISS models that do not have a CP15 coprocessor.

  • Sets the byte order of RealView ARMulator ISS models that do have a CP15 coprocessor if the Start target Endian option is set to Debug Endian.

For more information see the summary of Endian settings in Table 5.1.

Start target Endian

Select the way in which the byte order of RealView ARMulator ISS models that have a CP15 coprocessor is determined:

  • Select the Debug Endian radio button to instruct the model to use the byte order set in the Debug Endian group.

  • Select the Hardware Endian radio button to instruct the model to simulate the behavior of real hardware. On reset, the core model starts in little-endian mode. If the rest of the system is big-endian, you must set the big-endian bit in CP15 in your initialization code to change the core model to big-endian mode.

You can set various combinations of the radio buttons in the Debug Endian and Start target Endian groups. Use the possible combinations as shown in Table 5.1.

Table 5.1. Endian settings

Debug EndianStart target EndianUsage
LittleDebug EndianUse this for a core or system that is always little-endian only (for example, BigEnd pin = 0). This is the default.
BigDebug EndianUse this for a core or system that is always big-endian only (for example, BigEnd pin=1).
BigHardware EndianUse this for a big-endian system, where the core starts up in little-endian mode, but which is switched to big-endian by writing to CP15 in the initialization code. (The initialization code must be written in an endianness-independent way, that is word accesses only.)
LittleHardware EndianThis combination is not required at present.
Memory Map File

Specify a memory map file, or that you want to use default settings.

Floating Point Coprocessor

Where you are using a floating point coprocessor (FPA), use the drop-down list to specify the variant supported by RealView ARMulator ISS, for example ARM926EJ-S with Vector Floating Point (VFP). The default is No_FPU.

MMU/PU Initialization

Specify the initialization of the Memory Management Unit (MMU) or Protection Unit (PU) for your target processor. If you are using the RealView ARMulator ISS to simulate a processor with an MMU, DEFAULT_PAGETABLES is the required setting. For PU processors, or processors where the MMU is disabled, select NO_PAGETABLES.

When developing your own pagetable initialization software in the RealView ARMulator ISS you might want to disable the MMU by selecting NO_PAGETABLES. This means that settings in the peripherals.ami configuration file are ignored.

See the ARM Architecture Reference Manual for full information on MMU/PU operation.

See the RealView ARMulator ISS Guide for full information on pagetables.

When you are changing settings in the RealView ARMulator ISS Configuration dialog you must remember the following:

  • If you are using the software floating point C libraries, ensure that the Floating Point Emulation option is off (blank), its default setting. Turn the option on (checked) only if you want Floating Point Emulation (FPE) software to be loaded into RealView ARMulator ISS so that you can execute code that uses the Floating Point Accelerator (FPA) instruction set.

  • Changes to the RealView ARMulator ISS Configuration dialog do not affect the $target_fpu debugger internal.

  • If, in the Memory Map File group, you select No Map File, the memory model declared as default in the default.ami file is used. This typically represents a flat 4GB bank of ideal 32-bit memory having no wait states. To use a memory map file, select Map File. Specify the filename (for example, armsd.map) by entering it, or click the Browse button, locate and select the file, and click Open. You must specify an existing memory map file. For more information about ARMulator and memory map files, see the RealView ARMulator ISS Guide.

When you are setting options in the Clock group you must remember the following:

  • If you set a nonzero simulated Clock Speed, then the clock speed used is the value that you enter. Clock speeds can be entered in units of Hz, kHz or GHz. If you do not specify the units then Hz is assumed. Values stored in the debugger internal variable $clock depend on this setting, and are unavailable if you select Real-time. For information about debugger internal variables, see Debugger Internals system view.

  • The AXD clock speed defaults to real time for compatibility with the defaults of armsd. Selecting Real-time in AXD is equivalent to omitting the -clock armsd option on the command line. In other words, the clock frequency is unspecified, and the default clock frequency specified in the configuration file default.ami is used (DEFAULT_CPUSPEED=20MHz).

  • For RealView ARMulator ISS, you do not have to specify a clock frequency because RealView ARMulator ISS does not use it to simulate the execution of instructions and count cycles (for $statistics). However, your application program might sometimes need to access a clock, so RealView ARMulator ISS must always be able to give clock information. RealView ARMulator ISS uses the clock frequency from the configuration file if you do not specify a simulated clock speed.

    • In either case, RealView ARMulator ISS uses the clock information to calculate the elapsed time since execution of the application program began. This elapsed time can be read by the application program using the C function clock() or the semihosting SYS_CLOCK, and is also visible to the user from the debugger as $clock. It is also used internally by RealView ARMulator ISS in the calculation of $memstats. The clock speed (whether specified or unspecified) has no effect on actual (real time) speed of execution under RealView ARMulator ISS. It affects the simulated elapsed time only.

    • $memstats is handled slightly differently because it does require a defined clock frequency so that RealView ARMulator ISS can calculate how many wait states are required for the memory speed defined in an armsd.map file. If you specify a clock speed and an armsd.map file is present, then $memstats gives useful information about memory accesses and times. Otherwise, for calculating the wait states, a default core:memory clock ratio specified in the configuration file is used, so that $memstats can still give useful memory timings.

      Note

      $memstats is defined only when a map file is present.

See the RealView ARMulator ISS Guide for full information on ARMulator configuration settings and configuration files.

Multi-ICE configuration

If you need to add Multi-ICE to the list of available targets, click Add and use the resulting browse dialog to locate and select the Multi-ICE.dll file.

Select the Multi-ICE target line and click the Configure button to display the Multi-ICE configuration dialog.

The settings available in this dialog include:

  • the network address of the computer running the Multi-ICE Server software

  • the selection of a processor driver

  • a connection name (required only when access to the Multi-ICE Server software is across a network).

Some versions of Multi-ICE might also enable you to select a .dll file to use as a Debug Communications Channel (DCC) viewer. Do not enable any DCC viewer from this dialog. Instead, use the AXD built-in viewer available from the Processor Views menu and enabled from the Processor Properties dialog. For more details see Comms Channel processor view and Configure Processor....

Full descriptions of Multi-ICE configuration are given in the Multi-ICE documentation and in the online help available when the dialog is displayed.

Remote_A configuration

To enable AXD to communicate with an Angel or EmbeddedICE target, you must configure the Remote_A connection appropriately. To configure the Remote_A connection, select the ADP target. If this is not listed, click Add and use the resulting browse dialog to locate and select the remote_a.dll file.

Select the ADP target line and click the Configure button to display the dialog shown in Figure 5.106.

Figure 5.106. Configuration of Remote_A connection

Configuration of Remote_A connection

The Remote_A connection dialog enables you to examine and, if necessary, change the following settings:

Remote connection driver

Click Select... to see a list of available drivers. This includes Serial, Serial /Parallel, and Ethernet drivers. Select one if you want to use it instead of the current driver. To change the settings of the currently selected driver, click Configure.... A dialog appears, similar to those in Figure 5.107, Figure 5.108, or Figure 5.109.

Figure 5.107. Serial connection configuration

Serial connection configuration

Figure 5.108. Serial/parallel connection configuration

Serial/parallel connection configuration

Figure 5.109. Ethernet connection configuration

Ethernet connection configuration
Heartbeat

Ensures reliable transmission by sending heartbeat messages. Any errors are more easily detected when known messages are expected regularly.

Endian

These buttons inform the debugger that the target is operating in little-endian or big-endian mode.

  • If you are using the RealView ARMulator ISS to simulate a processor with an MMU and you have semihosting enabled in the .ami configuration file, the RealView ARMulator ISS sets the big-endian bit in CP15. If semihosting is not enabled, the big-endian bit is not set and the processor executes in little-endian mode. In that case you must write initialization code to set the big-endian bit, or set it manually through the debugger.

  • If you are using RealView ARMulator ISS to simulate a processor without an MMU, such as the ARM7TDMI® core, the Endian button sets the endianness of the target processor.

For hardware targets such as Multi-ICE, the Endian button only sets the endianness expected by the debugger. You must initialize your hardware to run in the appropriate mode.

Angel automatically corrects a wrong endian target setting.

Channel Viewers

Channel viewers are not supported if you are running AXD under UNIX.

When you run AXD under Windows, checking Enabled enables you to access a displayed list of .dll files. Do not enable any DCC viewer from this dialog. Instead, use the AXD built-in viewer available from the Processor Views menu and enabled from the Processor Properties dialog. For more details see Comms Channel processor view and Configure Processor....

For information on how to configure other targets, for example ARM Agilent Debug Interface, see the documentation accompanying the product.

Copyright © 1999-2004 ARM Limited. All rights reserved.ARM DUI 0066F
Non-Confidential