| |||
| Home > RealView Debugger Commands > Alphabetical command reference > TRACEEXTCOND | |||
Enables you to set a tracepoint that triggers when a specified external condition occurs.
This command is valid only for ETM-based hardware targets.
[,TRACEEXTCOND qualifier...]
where:
qualifierIs an ordered list of zero or more qualifiers. The possible qualifiers are described in List of qualifiers.
You must always specify the hw_in qualifier.
This command sets a tracepoint that triggers when a specified
external condition occurs. By default, the tracepoint type is Trigger,
that is start collecting trace information into the trace buffer.
You can modify the action using the hw_out: qualifier
to, for example, stop tracing.
The command qualifiers are as follows, but not all qualifiers are available for all of the supported trace targets:
hw_and:{id |
"then-id"}Perform
an and or an and-then conjunction
with an existing tracepoint identified by ,
which is one of:id
next for
the next breakpoint specified for this connection
prev for the last breakpoint
specified for this connection
the breakpoint list index of an existing breakpoint.
The parentheses are optional.
Tracepoints set in this way are called chained tracepoints. How RealView Debugger processes the tracepoints depends on the conjunction you have used:
In the and form, the conditions associated with both tracepoints are chained together, so that trace capture starts only when both conditions simultaneously match.
In the and-then form, RealView Debugger examines the chained tracepoints starting with the last one you specified. When the condition for the last tracepoint is met, the previous tracepoint is enabled. However, trace capture starts only when this tracepoint condition is met. RealView Debugger continues processing all tracepoints in the chain, until the condition in first one you specified is met. At this point, trace capture starts.
You must include the quotes when using the and-then form.
If you clear a tracepoint that has the ID next,
then all tracepoints in the chain are cleared.
If you clear a tracepoint that has the ID prev,
then that tracepoint and the following ones are cleared. The previous
breakpoints in the chain remain set.
hw_in:{s}Input trigger to test for external condition events.
You must always specify this qualifier. The string is
specific to the trace connection being used. For the ARM ETM, the
following case-sensitive forms are defined:s
"External Condition=s"The tracepoint is activated on the events shown in Table 2.22.
Table 2.22. External condition events
| Event | String setting |
|---|---|
External inputs 1-4 | ExternalIn1 ExternalIn2 ExternalIn3 ExternalIn4 |
Extended external inputs 1-4 (ETMv3.1 and later) The number of inputs available depends on the ETM. | Extended ExternalIn1
Extended ExternalIn2
Extended ExternalIn3
Extended ExternalIn4 |
EmbeddedICE watchpoints 1-2 | Watchpoint1 Watchpoint2 |
Access to ASIC memory maps 1-16 | ASIC Memmap 1
...
ASIC Memmap 16 |
For Extended external inputs 1 to 4, you must also use the ETM_CONFIG command to specify the number of the external input to test.
Up to four signals are available. The ASIC manufacturer determines the availability and usage of these output signals. See your ASIC documentation for details.
hw_not:{then}Use this qualifier to invert the sense of a hw_and:{then} condition
specified in the same command.
For example, to form or and nand-then conditions
use the hw_not:then qualifier in conjunction
with hw_and, for example:
TRACEEXTCOND,hw_and:next,hw_not:then,hw_in:"External Condition=ExternalIn1"
hw_out:{s}Output trigger tests. The string is
specific to the trace connection being used. For the ARM ETM, the
following case-sensitive forms are defined:s
"Tracepoint Type=s"Specify the trace action when an external condition
occurs at an address in the specified range, where is:s
TriggerOutput a trigger event to the TPA.
Start TracingStart trace capture.
Stop TracingStop trace capture.
Trace InstrTrace instructions only.
Trace Instr and DataTrace instructions and data.
ExternalOut1, ExternalOut2, ExternalOut3,
or ExternalOut4Trace the specified external output.
An address range can be specified only for Trace
Instr and Trace Instr and Data.
For example, to trace only instructions when an external condition
occurs and an instruction is executed at an address in the range 0x1E000-0x1FF00, enter
the command:
TRACEEXTCOND,hw_out:"Tracepoint Type=Trace Instr",hw_in:"External Condition=ExternalIn1"
hw_passcount:(n)Specifies the number of times that the specified condition has to occur to trigger the tracepoint. You can use this option to set up and use the ARM ETM counter hardware, if the ETM has counters and there is one available for use. ETM counters are 32 bits.
modify:(n)Instead of creating a new tracepoint, modify the
tracepoint with tracepoint ID number by
replacing the address expression and the qualifiers of the existing
tracepoint to those specified in this command.n
You cannot use this qualifier with the hw_and qualifier
to change a non-chained tracepoint to a chained tracepoint. However,
you can modify a chained tracepoint with any other qualifier and
also change the address expression.
The following example shows how to use TRACEEXTCOND:
TRACEEXTCOND,hw_out:"Tracepoint
Type=Trigger",hw_pass:5,hw_in:"External Condition=ExternalIn1"Set a trigger to output captured trace after the fifth external condition on External input 1.
the following in the RealView Debugger Trace User Guide:
Embedded Trace Macrocell Specification.