TC1796
System Units (Vol. 1 of 2)
On-Chip Debug Support
User’s Manual
17-13
V2.0, 2007-07
OCDS, V2.0
•
BYTE (8-bit): If the host wants to read a byte, it has to read the associated word or
half-word. Then the JTAG host has to extract the needed part by itself.
Writing bytes or half-words is supported with the IO_WRITE_BYTE and
IO_WRITE_HWORD JTAG instructions. With these instructions, the JTAG host must
again shift in the full 32-bit word, but only the selected byte or half-word is actually
written. Its exact position is defined by the two lowest address bits in register IOADDR.
17.4.2
Communication Mode
In Communication Mode, the Cerberus has no access to the FPI Bus and
communication is established between the external JTAG host and a software monitor
(embedded into the application program) via the Cerberus registers. The communication
mode is the default mode after reset.
In Communication Mode, the external JTAG host is master of all transactions. He
requests the monitor to write or read a value to/from the Cerberus register COMDATA.
The difference to RW Mode is, that the read or write request is not actively executed by
the Cerberus, but it sets request bits in the CPU accessible IOSR register to signal the
monitor that the debugger wants to send (IO_WRITE_WORD) or receive
(IO_READ_WORD) a value. The software monitor has to poll register IOSR. The
IOADDR register is not used.
17.4.3
Triggered Transfers
Triggered Transfers are an OCDS-specific feature of the Cerberus. They can be used to
read from or write to a certain memory location when an OCDS trigger becomes active.
Triggered Transfers behave as normal transfers with some exceptions.
The main application for Triggered Transfers is to trace a certain memory location. This
can be done, when the OCDS of the CPU activates its break out signal, if this memory
location is written by the user program. This event is used as a transfer trigger through
the configuration of the MCBS. Cerberus is configured to read the location on this trigger.
17.4.4
Multi Core Break Switch
In the TC1796 there are two main processor units, the CPU and the PCP2. For
debugging purposes, the OCDS run control of one processor unit can break (interrupt)
the other processor unit or vice versa. This run control tasks are handled by the MCBS
unit which is a part of the Cerberus.
shows the break signal interfaces of this
MCBS unit.