User Manual
BCM1250/BCM1125/BCM1125H
10/21/02
B r o a d c o m C o r p o r a t i o n
Document
1250_1125-UM100CB-R
Section 15: JTAG and Debug Page
437
P
ROCESSOR
A
CCESSES
TO
THE
JTAG S
PACE
When the JTAG probe is configured for slave accesses, an access to the JTAG range (
00_1000_0000
to
00_1001_FFFF
) is responded to by the debugger. If the CPU is set to use the Alternate Debug Vector then a
debug exception will cause it to fetch instructions from
00_1000_0480
.
When the CPU does a read from JTAG memory, the JTAG unit latches the address, bus command, cache
attributes and the byte enables from the request into the scannable Address Register. The JTAG unit then sets
the PrAcc bit to 1. The debugger software will be scanning out the EJTAG Control Register, and will see the
PrAcc bit set. It will then scan out the Address Register, decode A_CMD as a read and fetch the data in the
debugger memory, and then scan the data, properly aligned, into the Data Register. It will then scan in the
control register with the PrAcc bit cleared. The JTAG unit will then terminate the bus transaction with a data
cycle on the bus, containing the data, dcode and modified flag from the Data Register.
When the CPU does a write to JTAG memory, the JTAG unit latches the address, bus command, cache
attributes and the byte enables from the request into the scannable Address Register and the data, dcode,
responder id and modified flag into the Data Register. The JTAG unit then sets the PrAcc bit to 1. The debugger
software will be scanning out the EJTAG Control Register, and will see the PrAcc bit set. It will then scan out
the Address Register, decode A_CMD as a write, scan the Data Register, and write the data in the debugger
memory. It will then scan in the Control Register with the PrAcc bit cleared causing the JTAG unit to free up
the buffers and allow more transactions.
The CPU can map the JTAG space cacheable non-coherent or uncacheable. It must not be mapped cacheable
coherent, or the behavior of the system becomes UNDEFINED.
P
ROBE
A
CCESSES
TO
THE
ZB
BUS
When the MaSl bit is set in the EJTAG control register, the probe can master the ZBbus and access any area
of system memory. A write to system memory is done by scanning into the Address Register the address, byte
enables, command and cache attribute bits. The data, dcode and modified flag are scanned in to the Data
Register. The four responder id bits that are scanned into the Data Register are ignored, the SCD agent ID is
always used for a request from the JTAG unit. When the PbAcc and PW bits are set in the EJTAG Control
Register the write will be initiated, and the PbAcc bit will be cleared when it has completed.
A read from system memory is done by scanning into the Address Register the address, byte enables,
command and cache attribute bits. The access is started by scanning a 1 into the PbAcc bit, and a 0 into the
PW bit. The EJTAG unit then makes a read request on the bus and when the transaction has finished, the data,
dcode, responder id and modified flag will be returned in the Data Register, and the PbAcc bit will be cleared.
The probe should keep scanning out the Control Register until it sees that the PbAcc bit has been cleared. It
then can scan out the Data Register.
Note that if ProbeEn is 1, a master access should not be made to an address serviced by the SCD, since these
will deadlock.