Debug Support
MOTOROLA
ColdFire2/2M User’s Manual
For More Information On This Product,
Go to: www.freescale.com
7-3
processor to transmit information concerning the execution status of the core (processor
status
,
PST[3:0]), while the other nibble allows operand data to be displayed (debug data,
DDATA[3:0]). The processor status timing is synchronous with the processor clock (CLK)
and may not be related to the current bus transfer.
Table 7-1
shows the encoding of these
signals.
The processor status (PST) outputs can be used with an external image of the program to
completely track the dynamic execution path of the machine. The tracking of this dynamic
path is complicated by any change-of-flow operation. This is especially evident when the
branch target address is calculated based on the contents of a program visible register
(variant addressing.) For this reason, the debug data (DDATA) outputs will display the target
address of a taken branch instruction. Because the DDATA bus is only 4 bits wide, the
address is displayed a nibble at a time across multiple clock cycles.
The debug module includes two 32-bit storage elements for capturing the internal ColdFire2/
2M bus information. These two elements effectively form a FIFO buffer connecting the
internal bus to the external development system through the DDATA signals. The FIFO
buffer captures branch target addresses along with certain operand read/write data for
eventual display on the DDATA output port one nibble at a time. The execution speed of the
ColdFire2/2M is affected only when both storage elements contain valid data
dumped onto the DDATA port. In this case, the processor core is stalled until one FIFO entry
is available. In all other cases, data output on the DDATA port does not impact execution
speed.
waiting to be
7.2.1 Processor Status Signal Encoding
The processor status (PST) signals are encoded to indicate a variety of conditions that are
not always visible outside of the ColdFire2/2M.
7.2.1.1 CONTINUE EXECUTION (PST = $0).
If an instruction requires more clock cycles, the subsequent clock cycles are indicated by
driving the PST outputs with this encoding.
Most instructions complete in a single cycle.
7.2.1.2 BEGIN EXECUTION OF AN INSTRUCTION (PST = $1).
this encoding signals the
first cycle
a different unique encoding.
For most instructions,
of an instruction’s execution. Some instructions generate
7.2.1.3 ENTRY INTO USER MODE (PST = $3).
has entered user mode. This encoding is signaled after the instruction which causes the
user mode to be entered is executed (signaled with the appropriate encoding.)
This encoding indicates the ColdFire2/2M
7.2.1.4 BEGIN EXECUTION OF PULSE OR WDDATA INSTRUCTIONS (PST = $4).
ColdFire2/2M instruction set architecture includes a PULSE opcode. This opcode generates
a unique PST encoding, $4, when executed. This instruction can define logic analyzer
triggers for debug and/or performance analysis. Additionally, a WDDATA instruction is
supported that allows the processor core to write any operand (byte, word, long) directly to
the DDATA port, independent of any debug module configuration. This opcode also
generates the special PST encoding, $4, when executed, but a data transfer on DDATA will
The
F
Freescale Semiconductor, Inc.
n
.