18.03.2015 Views

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

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!