| |||
| Home > AXD > AXD Desktop > Options menu > 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.
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:
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.
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.
The RealView ARMulator ISS Configuration dialog enables you to examine and change the following settings:
Use the drop-down list to specify which ARM processor you want RealView ARMulator ISS to simulate.
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.
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.
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.
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 Endian | Start target Endian | Usage |
|---|---|---|
| Little | Debug Endian | Use this for a core or system that is always little-endian only (for example, BigEnd pin = 0). This is the default. |
| Big | Debug Endian | Use this for a core or system that is always big-endian only (for example, BigEnd pin=1). |
| Big | Hardware Endian | Use 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.) |
| Little | Hardware Endian | This combination is not required at present. |
Specify a memory map file, or that you want to use default settings.
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.
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.
$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.
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.
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.
The Remote_A connection dialog enables you to examine and, if necessary, change the following settings:
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.
Ensures reliable transmission by sending heartbeat messages. Any errors are more easily detected when known messages are expected regularly.
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 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.