| |||
| Home > Tracing with RealView Debugger > Setting conditional tracepoints > Common parameters for setting conditional tracepoints | |||
In each of the dialog boxes that are available for setting tracepoints (see Setting conditional tracepoints), you can:
set the tracepoint type from a drop-down list (see Tracepoint types)
set the tracepoint comparison type from a drop-down list (see Tracepoint comparison types)
enter the required addresses, address ranges, or data address comparison (see Entering addresses, address ranges, and data address comparisons)
enter a value to test for (see Entering data value comparisons)
select an external condition to test for (see External Conditions).
The tracepoint type specifies the output trigger test. This
adds the hw_out:”Tracepoint Type= qualifier to
the CLI command that is generated by RealView Debugger when it sets a tracepoint
(see the description of the trace commands in the RealView Developer
Kit v2.2 Command Line Reference Guide).type”
The following tracepoint types are available:
Sets an explicit trigger point on the selected address. A trigger point enables you to capture trace before, after, or about the trigger point (see the Collect trace... options in Trigger Mode).
When you set a trigger point, an arrow
is
placed in the left margin, next to the line of code you have selected.
Starts tracing at the selected address.
This type is available only on the Set/Edit Tracepoint dialog box, and only for ETM-enabled processors.
Stops tracing at the selected address.
This type is available only on the Set/Edit Tracepoint dialog box.
Traces instructions only.
Traces both instructions and data.
Controls single-bit output signals from the ETM. Up to four signals are available. The ASIC manufacturer determines the availability and usage of these output signals. See your ASIC documentation for details.
The tracepoint comparison type specifies the action that triggers the tracepoint. This determines the CLI command that is generated by RealView Debugger when it sets a tracepoint (see the description of the trace commands in the RealView Developer Kit v2.2 Command Line Reference Guide).
The following tracepoint comparison types are available:
The address of each instruction that is presented to the execution unit is compared against the address you specify (even though the instruction might not be executed if its condition code evaluates to False).
This generates a TRACEINSTREXEC command.
The address of each instruction fetched is compared against the address you specify.
This generates a TRACEINSTRFETCH command.
The meaning of this type depends on whether or not you specify a data value:
If you do not specify data value, then the address of the data read from is compared against the address you specify.
If you specify a data value, then the data value read from the specified address is compared against the value you specified.
This generates a TRACEDATAREAD command.
The meaning of this type depends on whether or not you specify a data value:
If you do not specify data value, then address of the data written to is compared against the address you specify.
If you specify a data value, then the data written to the specified address is compared against the value you specified.
This generates a TRACEDATAWRITE command.
The meaning of this type depends on whether or not you specify a data value:
If you do not specify data value, then address of the data accessed, in either a read or write direction, is compared against the address you specify.
If you specify a data value, then the data value accessed at the specified address, in either a read or write direction, is compared against the value you specified.
This generates a TRACEDATAACCESS command.
The tracepoint is activated on one of the following events:
external inputs 1 to 4
EmbeddedICE watchpoints 1 and 2
access to ASIC memory maps 1 to 16.
Up to four signals are available. The ASIC manufacturer determines the availability and usage of these input signals. See your ASIC documentation for details. Also, see External Conditions.
This generates a TRACEEXTCOND command.
Not all tracepoint comparison types are available for all tracepoint units.
You can enter addresses, address ranges, and data address comparisons in the following ways:
Click on the drop-down arrow
to:
choose from a Function List, Variable List, Module/File List, or Register List dialog box (see the chapter that describes working with browsers in the RealView Developer Kit v2.2 Debugger User Guide for instructions on how to use these dialog boxes)
select from your personal Favorites List
select from a list of previously-used expressions.
The options shown here depend on your debug target and connection.
Type the required address, address range, or data
address comparison into the text box. You can use the right arrow
to
help with the syntax of the entry if required. The following options
are available:
If you select this option when the text
box is empty, RealView Debugger inserts start..end into
the text box. Replace start with the start address
and end with the end address.
If you select this option when the text box contains a value, RealView Debugger takes this value as the start address, and inserts .. after the value. Enter the end address.
If you select this option when the text box is empty, RealView Debugger inserts start..+len into
the text box. Replace start with the start address
and len with the required offset value in bytes.
If you select this option when the text box contains a value, RealView Debugger takes this value as the start address, and inserts ..+ after the value. Enter the required offset value in bytes.
When you select this option, RealView Debugger inserts $NOT$ into
the text box. If the text box already contains an address or address
range, $NOT$ is inserted before it. Otherwise,
enter the address or address range after $NOT$, for
example:
$NOT$0x8000..0x8100
You can use this option to set up excluded trace ranges (see Setting a trace range and Table 2.3).
This adds the hw_not:addr command qualifier (see
the description of the trace commands in the RealView Developer
Kit v2.2 Command Line Reference Guide).
This option generates an auto-range from an expression that you enter, which can be any of:
A function name, where the generated address range is from the start-to-end of the function.
A structure, where the generated address range is from the start-to-end of the structure.
An array symbol, where the generated address range is
from the start of the variable to the end, where the end is the start+sizeof(var).
For example, if the start address is 0x8000,
and the array size is 16 bytes, the end address is considered to
be 0x8010 (that is, 0x8000+16).
RealView Debugger filters the information down to only rows represented by the generated auto-range.
Enter a symbol and then click this option to compute the end-of-range address based on the symbol size. For example, if you enter a function then the autocompleted range is from the start of the function to the end. Similarly, enter a global variable to see the end-of-range address autocompleted as the variable storage address plus variable size.
You can enter values to compare against. This adds the hw_dvalue: command
qualifier (see the description of the trace commands in the RealView
Developer Kit v2.2 Command Line Reference Guide).
Enter a value in the following ways:
Click on the drop-down arrow
to:
choose from a Function List, Variable List, Module/File List, or Register List dialog box (see the chapter that describes working with browsers in the RealView Developer Kit v2.2 Debugger User Guide for instructions on how to use these dialog boxes)
select from your personal Favorites List (see the chapter that describes working with browsers and favorites in the RealView Developer Kit v2.2 Debugger User Guide)
select from a list of previously-used expressions.
The options shown here depend on your debug target and connection.
Type the required value into the text box. You can
use the right arrow
to
help with the syntax of the entry if required. The following options
are available:
The value mask enables you to specify individual bits to test when comparing values. Testing is performed on the following basis:
a binary zero in the filter indicates that the bit is not tested
a binary one in the filter indicates that the corresponding bit of the transfer is compared with the corresponding bit of the Data value.
When you select this option, RealView Debugger inserts $MASK$=0xFFFFFFFF into
the text box. Enter the value you want to compare against, and edit
the mask to the required value.
This adds the hw_dmask: command
qualifier (see the description of the trace commands in the RealView Developer
Kit v2.2 Command Line Reference Guide).mask
When you select this option, RealView Debugger inserts $NOT$ into
the text box. If the text box already contains a value, $NOT$ is
inserted before it. Otherwise, enter the value after $NOT$,
for example:
$NOT$0x1000
This adds the hw_not:data command qualifier (see
the description of the trace commands in the RealView Developer
Kit v2.2 Command Line Reference Guide).
External conditions are application-specific, and correspond
to the signals on your ASIC. See your ASIC documentation for details.
The conditions are available only for the tracepoint comparison
type External Condition. You must select
the condition from the drop-down menu that is displayed when you
click the drop-down arrow
of the when parameter.
These options add the hw_in:"External Condition= command
qualifier to the CLI command generated by RealView Debugger (see the description
of the TRACEEXTCOND command in the RealView
Developer Kit v2.2 Command Line Reference Guide).condition"
The following external conditions are available:
Up to four external inputs are available, depending on your ETM configuration. The ASIC manufacturer determines the availability and use of these output signals. External inputs can be any combination of logic that evaluates to True or False.
These resources are the watchpoint units in the EmbeddedICE macrocell. They are used when you set hardware watchpoints or hardware breakpoints. This functionality is only available when the signals from the EmbeddedICE are connected to the ETM. The ASIC manufacturer determines the availability and use of these output signals.
These resources are only available if you have ASIC memory map decode hardware installed in your ASIC. Each implementation of ASIC memory map decode hardware has been defined by the ASIC manufacturer to return True when instructions are being fetched from a particular address range.