2.7.3. Common parameters for setting conditional tracepoints

In each of the dialog boxes that are available for setting tracepoints (see Setting conditional tracepoints), you can:

Tracepoint types

The tracepoint type specifies the output trigger test. This adds the hw_out:”Tracepoint Type=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).

The following tracepoint types are available:

Trigger

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.

Start Tracing

Starts tracing at the selected address.

Note

This type is available only on the Set/Edit Tracepoint dialog box, and only for ETM-enabled processors.

Stop Tracing

Stops tracing at the selected address.

Note

This type is available only on the Set/Edit Tracepoint dialog box.

Trace Instr

Traces instructions only.

Trace Instr and Data

Traces both instructions and data.

ExternalOut1-4

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.

Tracepoint comparison types

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:

Instr Exec

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.

Instr Fetch

The address of each instruction fetched is compared against the address you specify.

This generates a TRACEINSTRFETCH command.

Data Read

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.

Data Write

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.

Data Access

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.

External Condition

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.

Note

Not all tracepoint comparison types are available for all tracepoint units.

Entering addresses, address ranges, and data address comparisons

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:

    Address Range

    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.

    Address Range by Length

    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.

    NOT Address Compare

    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).

    Autocomplete Range

    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.

Entering data value comparisons

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:

    Value Mask

    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:mask command qualifier (see the description of the trace commands in the RealView Developer Kit v2.2 Command Line Reference Guide).

    NOT Value Compare

    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

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=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).

The following external conditions are available:

ExternalIn1-4

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.

Watchpoint1-2

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.

ASIC MemMap 1-16

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.

Copyright © 2006 ARM Limited. All rights reserved.ARM DUI 0335A
Non-Confidential