XC2200 Derivatives
System Units (Vol. 1 of 2)
Debug System
User’s Manual
11-9
V2.1, 2008-08
OCDS_X8, V2.4
11.3
Cerberus
Cerberus is the module which provides and controls all the operations necessary to
interact between the external debugger (via the
and the internal system of XC2200.
Features
• JTAG interface is used as control and data channel
• Generic memory read/write functionality (RW mode) with access to the whole address
space
• Reading and writing of general-purpose registers (GPRs)
• Injection of arbitrary instructions
• External host controls all transactions
• All transactions are available at normal run time and in halt mode
• Priority of transactions can be configured
• Full support for communication between the monitor and an external host (debugger)
• Optional error protection
• Tracing memory locations through transferring values to the external bus
• Analysis Register for internal bus locking situations
The target application of Cerberus is to use the JTAG interface as an independent port
for On Chip Debug Support. The external debugger can access the OCDS registers and
arbitrary memory locations with the injection mechanism.
11.3.1
Functional Overview
Cerberus is operated by an external debugger across the
Debugger supplies Cerberus IO Instructions and performs bidirectional data-transfers.
The
distinguishes between two main modes of operation:
Read/Write Mode of Operation
Read/Write (RW) Mode is the most typical way to operate Cerberus. This mode is used
to read and write memory locations or to inject instructions. The injection interface to the
core is actively used in this mode.
In this mode an external Debugger (host), using JTAG Interface, can:
• read and write memory locations from the target system (data-transfer);
• inject arbitrary instructions to be executed by the Core.
All Cerberus IO Instructions can be used in RW mode. The dedicated IO_READ_IP
instruction is provided in RW mode to read the IP of the CPU while in Break.