Open Core Protocol Debug Interface Specification rev 1.0 - OCP-IP
Open Core Protocol Debug Interface Specification rev 1.0 - OCP-IP
Open Core Protocol Debug Interface Specification rev 1.0 - OCP-IP
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>OCP</strong>-<strong>IP</strong> Confidential<br />
running. Thus the output is driven LOW, and the tri-state is controlled by the NOT DBGACK<br />
signal.<br />
B.3.4 EMUx Trigger Action – Bi-directional Cross-triggering<br />
Bi-directional cross-triggering is selected on the emulation pins EMU0 and EMU1 by writing a<br />
‘0011’ to the TCR TriggerXControl bits. The following conditions hold true when this trigger<br />
control functionality is enabled:<br />
The EMU0 input shall operate independent of the EMU0 output<br />
The EMU1 input shall operate independent of the EMU1 output<br />
If a High to Low transition is seen on the EMUx pins, the EMUDBGREQx signal shall be<br />
asserted high. The detection of a high to low transition on the EMUx pin is an asynchronous<br />
event.<br />
A low level on the EMUx input pin shall not cause a debug request.<br />
The assertion of EMUDBGREQx shall be inhibited for 1 clock cycle each time the DBGACK<br />
signal transitions from the high-to-low state. A high-to-low state transition on the DBGACK<br />
signal is an indication that the CPU is about to go out of debug state and start running. This<br />
must be done to p<strong>rev</strong>ent self-triggering.<br />
A debug event such as a user halt or a breakpoint shall drive the EMUx pins LOW.<br />
The EMU pin shall be driven low for 32 clock cycles and then return high.<br />
Clearing the input synchronizers on a high to low transition of DBGACK will p<strong>rev</strong>ent<br />
retriggering from debug events that were registered on a p<strong>rev</strong>ious halt.<br />
B.3.5 EMUx Trigger Action – Notify Interconnect Error<br />
The EMU0 and EMU1 trigger control can be used to notify the environment outside the chip<br />
that an application error has occurred on the L3/L4 interconnect. This function is selected by<br />
writing a ‘0100’ to the TriggerXControl field. The following conditions hold true when this<br />
trigger control function is enabled:<br />
The notification of Interconnect Error shall happen only at run-time when DBGACK is LOW.<br />
The application error flag [Serror_App] reports both Application errors and not attributable<br />
errors<br />
When the triggers are configured as “interconnect” and the SuppressInterconnIntr bit in the<br />
<strong>Debug</strong> Control and Status Register is set, then a non-attributable interconnect error, reported<br />
through an application error flag (Serror App) occurring while DBGACK is high, will not be<br />
reflected on the EMUx lines<br />
The change in state on the EMUx pins may be used at the system level to either stop another<br />
CPU or start a trace.<br />
B.3.6 EMUx Trigger Action – Generate EMUINT Interrupt<br />
The EMU0 and EMU1 trigger control can be used to generate an interrupt on the target. This<br />
function is selected by writing a ‘0101’ to the respective TriggerXControl field. The following<br />
conditions hold true when this trigger control function is enabled:<br />
This function will effectively result in the generation of an interrupt to the CPU.<br />
If EMU0 is driven LOW it will result in the generation of GNEMUINT0, which will in turn<br />
generate the IC_EMUINTR.<br />
50 of 62<br />
© 2007 <strong>OCP</strong>-<strong>IP</strong> Association, All Rights Reserved.