The embedded cross-triggering (ECT) module from Arm supports cross-triggering. ECT provides a mechanism for multiple subsystems in an SoC to interact with each other by exchanging debug triggers. ECT consists of two modules:
- Cross Trigger Interface (CTI)
- CTI combines and maps the trigger requests, and broadcasts them to all other interfaces on the ECT as channel events. When the CTI receives a channel event, it maps this onto a trigger output. This enables subsystems to cross trigger with each other.
- Cross Trigger Matrix (CTM)
- CTM controls the distribution of channel events. It provides Channel Interfaces for connection to either a CTI or CTM. CTM enables connection of multiple ECTs.
Figure 1. CTIs and CTM in a Generic Setup

A CTM forms an event broadcasting network with multiple channels.
- A CTI listens to one or more channels for an event.
- A CTI maps a received event into a trigger, and sends the trigger to one or more CoreSight components connecting to the CTI.
- A CTI also combines and maps the triggers from connecting CoreSight components and broadcasts them as events on one or more channels.
- You can configure CTI to listen to specific channels for events through its register interface.
- The CTI can broadcast triggers as events to specific channels.
In the above example, there are four channels. The CTI at the top propagates the trigger event on Trigger Input 0 to Channel 0. You can configure other CTIs to listen to this channel for events and broadcast the events through trigger outputs. The trigger outputs debug components connecting to the CTIs. CTIs also support channel gating so that certain channels can be turned off without disabling the channel to trigger I/O mapping.