Chapter 5 Background Debug Controller (S12ZBDCV2)
S12ZVHY/S12ZVHL Family Reference Manual Rev. 1.05
174
Freescale Semiconductor
The handshake protocol is enabled by the ACK_ENABLE command. The BDC sends an ACK pulse when
the ACK_ENABLE command has been completed. This feature can be used by the host to evaluate if the
target supports the hardware handshake protocol. If an ACK pulse is issued in response to this command,
the host knows that the target supports the hardware handshake protocol.
Unlike the normal bit transfer, where the host initiates the transmission by issuing a negative edge on the
BKGD pin, the serial interface ACK handshake pulse is initiated by the target MCU by issuing a negative
edge on the BKGD pin.
specifies the timing when the BKGD pin is being driven. The host must
follow this timing constraint in order to avoid the risk of an electrical conflict at the BKGD pin.
When the handshake protocol is enabled, the STEAL bit in BDCCSR selects if bus cycle stealing is used
to gain immediate access. If STEAL is cleared, the BDC is configured for low priority bus access using
free cycles, without stealing cycles. This guarantees that BDC accesses remain truly non-intrusive to not
affect the system timing during debugging. If STEAL is set, the BDC gains immediate access, if necessary
stealing an internal bus cycle.
NOTE
If bus steals are disabled then a loop with no free cycles cannot allow access.
In this case the host must recognize repeated NORESP messages and then
issue a BACKGROUND command to stop the target and access the data.
shows the ACK handshake protocol without steal in a command level timing diagram. The
READ_MEM.B command is used as an example. First, the 8-bit command code is sent by the host,
followed by the address of the memory location to be read. The target BDC decodes the command. Then
an internal access is requested by the BDC. When a free bus cycle occurs the READ_MEM.B operation
is carried out. If no free cycle occurs within 512 core clock cycles then the access is aborted, the NORESP
flag is set and the target generates a Long-ACK pulse.
Having retrieved the data, the BDC issues an ACK pulse to the host controller, indicating that the
addressed byte is ready to be retrieved. After detecting the ACK pulse, the host initiates the data read part
of the command.
Figure 5-10. Handshake Protocol at Command Level
Alternatively, setting the STEAL bit configures the handshake protocol to make an immediate internal
access, independent of free bus cycles.
READ_MEM.B
BDC ISSUES THE
BYTE IS
NEW BDC COMMAND
BKGD PIN
ADDRESS[23–0]
MCU EXECUTES THE
READ_MEM.B
COMMAND
RETRIEVED
HOST TARGET
HOST
TARGET
HOST TARGET
BDC DECODES
THE COMMAND
ACK PULSE (NOT TO SCALE)