Intel
®
IXP42X Product Line of Network Processors and IXC1100 Control Plane Processor
September 2006 DM
Order Number: 252480-006US 101
Intel XScale
®
Processor—Intel
®
IXP42X product line and IXC1100 control plane processors
3.6.8.5 Conditional Execution Using TXRXCTRL
All of the bits in TXRXCTRL are placed such that they can be read directly into the CC
flags using an MCR instruction. To simplify the debug handler, the TXRXCTRL register
should be read using the following instruction:
This instruction will directly update the condition codes in the CPSR. The debug handler
can then conditionally execute based on each C bit. Table 42 shows the mnemonic
extension to conditionally execute based on whether the TXRXCTRL bit is set or clear.
The following example is a code sequence in which the debug handler polls the
TXRXCTRL handshaking bit to determine when the debugger has completed its write to
RX and the data is ready for the debug handler to read.
3.6.9 Transmit Register
(TX)
The TX register is the debug handler transmit buffer. The debug handler sends data to
the debugger through this register.
Since the TX register is accessed by the debug handler (using MCR/MRC) and the
debugger (through JTAG), handshaking is required to prevent the debug handler from
writing new data before the debugger reads the previous data.
The TX register handshaking is described in Table 41, “TX Handshaking” on page 100.
mrc p14, 0, r15, C14, C0, 0
Table 42. TXRXCTRL Mnemonic Extensions
TXRXCTRL bit mnemonic extension to execute if bit set
mnemonic extension to execute if bit
clear
31 (to N flag) MI PL
30 (to Z flag) EQ NE
29 (to C flag) CS CC
28 (to V flag) VS VC
loop: mcr p14, 0, r15, c14, c0, 0# read the handshaking bit in TXRXCTRL
mcrmi p14, 0, r0, c9, c0, 0 # if RX is valid, read it
bpl loop # if RX is not valid, loop
Table 43. TX Register
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
TX
reset value: unpredictable
Bits Access Description
31:0
SW Read / Write
JTAG Read-only
Debug handler writes data to send to debugger