You copied the Doc URL to your clipboard.

2.2.4. Trigger, flush and stop events

The Formatter and Flush Control Register (FFCR), includes controls for the following:

  • enabling the formatter to wrap data from multiple trace sources into frames CoreSight Architecture Specification v1.0 describes

  • the insertion of trigger markers into the formatted trace stream

  • when to stop trace capture

  • when to perform a flush

  • draining the trace buffer when in Circular Buffer mode and in the Stopped state.

In Hardware FIFO mode and Software FIFO mode, setting the following bits of the FFCR results in Unpredictable behavior:

  • TrigOnTrigEvt

  • StopOnTrigEvt

  • FOnTrigEvt.

TRIGIN and ATB slave interface trigger

Figure 2.5 shows the actions taken when an event is sampled on TRIGIN, or a packet is accepted on the ATB slave interface when ATID is equal to 0x7D.

Figure 2.5. Actions taken on input trigger

Figure 2.5. Actions taken on input trigger

Flush and stop

The Trigger Event is one of several events that can cause various kinds of flush, stop the TMC, and cause additional trigger insertion. Table 2.2 shows how the TMC response to these events.

Table 2.2. Event generation
EventMODEOutcome
In ETF configuration, a flush request on the ATB master interfaceCB or SWFAcknowledged immediately, and otherwise is ignored.
HWFFlush the trace sources that feed the TMC, and the contents of the TMC.
FlushMan or (FOnFlIn & FLUSHIN)CB

Flush the trace sources that feed the TMC.

If TrigOnFl is set in the FFCR, insert a trigger.

If StopOnFl is set in the FFCR, stop trace capture.

HWF

Flush the trace sources that feed the TMC.

If TrigOnFl is set in the FFCR, insert a trigger.

If StopOnFl is set in the FFCR, stop trace capture.

SWF

Flush the trace sources that feed the TMC, and ensure that the flushed trace is ready to be read by subsequent reads of the RRD register.

If TrigOnFl is set in the FFCR, insert a trigger.

If StopOnFl is set in the FFCR, stop trace capture.

Trigger EventCB

If StopOnTrigEvt is set in the FFCR, then stop trace capture.

If StopOnTrigEvt is not set in the FFCR:

  • Insert a trigger if TrigOnFl is set in the FFCR.

  • Stop trace capture if StopOnFl is set in the FFCR.

HWF or SWFIgnored.
TraceCaptEn bit cleared during trace captureAnyStop trace capture immediately. The captured trace is lost.

Note

The TMC always outputs any outstanding triggers in the trace before completing a flush or stopping trace capture. A rapid stream of triggers on TRIGIN or on the ATB slave interface can cause the flush or stop to be delayed.

Common usage

Many bits can be set simultaneously, leading to a wide range of programming settings, not all of which are useful. In practice, the most common setting in Circular Buffer mode is to set the TrigOnTrigIn, FOnTrigEvt, StopOnFl, EnTI and EnFt bits in the FFCR.

  1. Wait for a trigger.

  2. Insert a trigger into the trace stream.

  3. Count down the trigger counter.

  4. Flush.

  5. Stop trace capture.

Was this page helpful? Yes No