15.7.7 Use of CTI for SMP execution synchronization

Cross Trigger Interface (CTI) is part of the ARM® Embedded Cross Trigger (ECT) system. Each component in the system can have a CTI which allows inputs and outputs to be routed (or channeled) between the components. The channeling is done by the Cross Trigger Matrix (CTM), which is part of the ECT. The CTM supports a fixed number of channels onto which the CTIs can output or input signals. There may be many signals in the system which can be routed between components, and the CTIs can be told which signals to route by assigning them to a channel.

For example, in many systems, each core in the SMP group has a CTI connected to the following signals:

Table 15-1 CTI Signal Connections

Name Direction Purpose
DBGTRIGGER Output from core to CTI Indicates that the core is going to enter debug state (is going to stop executing)
EDBGRQ Input to core from CTI An external request for the core to enter debug state (stop executing)
DBGRESTART Input to core from CTI An external request for the core to exit debug state (start executing)

For synchronized execution to work, the DTSL configuration assigns two channels, one of which is for stop requests and the other of which is for start requests. The CTI or CTIs are configured to connect the above signals onto these channels.

Figure 15-12 Example use of CTI for H/W execution synchronization
Example use of CTI for H/W execution synchronization

With this configuration:

The convention for DTSL configurations is that channel 0 is used for the stop channel and channel 1 is used for the start channel. DTSL configuration scripts usually allow this to be modified by changing the following constants, which are assigned near the top of the configuration script:

CTM_CHANNEL_SYNC_STOP = 0 # use channel 0 for sync stop
CTM_CHANNEL_SYNC_START = 1 # use channel 1 for sync start		
Non-ConfidentialPDF file icon PDF versionARM DUI0446Z
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.