
11-8
ColdFire CF4e Core User’s Manual
For More Information On This Product,
Go to: www.freescale.com
Real-Time Trace Support
11.3.1 Begin Execution of Taken Branch (PST = 0x5)
PST is 0x5 when a taken branch is executed. For some opcodes, a branch target address
may be displayed on PSTDDATA depending on the CSR settings. CSR also controls the
number of address bytes displayed, which is indicated by the PST marker value
immediately preceding the PSTDDATA nibble that begins the data output.
Multiple byte DDATA values are displayed in least-to-most-significant order. The
processor captures only those target addresses associated with taken branches which use a
variant addressing mode, that is, RTE and RTS instructions, JMP and JSR instructions
using address register indirect or indexed addressing modes, and all exception vectors.
The simplest example of a branch instruction using a variant address is the compiled code
for a C language case statement. Typically, the evaluation of this statement uses the
variable of an expression as an index into a table of offsets, where each offset points to a
unique case within the structure. For such change-of-flow operations, the V4
microarchitecture uses the debug pins to output the following sequence of information on
two successive processor clock cycles:
1. Use PSTDDATA (0x5) to identify that a taken branch is executed.
2. Optionally signal the target address to be displayed sequentially on the PSTDDATA
pins. Encodings 0x9–0xB identify the number of bytes displayed
.
3. The new target address is optionally available on subsequent cycles using the
PSTDDATA port. The number of bytes of the target address displayed on this port
is configurable (2, 3, or 4 bytes, where the encoding is 0x9, 0xA, and OxB,
respectively).
Another example of a variant branch instruction would be a JMP (A0) instruction.
Figure 11-4 shows when the PSTDDATA outputs that indicate when a JMP (A0) executed,
assuming the CSR was programmed to display the lower 2 bytes of an address.
Figure 11-4. Example JMP Instruction Output on PSTDDATA
PSTDDATA is driven two nibbles at a time with a 0x59; 0x5 indicates a taken branch and
the marker value 0x9 indicates a 2-byte address. Thus, the subsequent 4 nibbles display
the lower 2 bytes of address register A0 in least-to-most-significant nibble order. The
PSTDDATA output after the JMP instruction continues with the next instruction.
PSTDDATA
PSTCLK
0x59
A0[3–0,7–4]
A0[11–8,15–12]
Processor Clock
F
Freescale Semiconductor, Inc.
n
.