09.12.2012 Views

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

Cortex-A8 Technical Reference Manual - ARM Information Center

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Rules for accessing the DCC<br />

At the core side, the debug communications channel resources are:<br />

• CP14 Debug Register c5 (DTR)<br />

• CP14 Debug Register c1 (DSCR).<br />

Implementations of the <strong>ARM</strong>v7 debug for the processor are so that:<br />

Debug<br />

• If a read of the CP14 DSCR returns 1 for the DTRRXfull flag, then a following read of<br />

the CP14 DTR returns valid data and DTRRXfull is cleared to 0. No prefetch flush is<br />

required between these two CP14 instructions.<br />

• If a read of the CP14 DSCR returns 0 for the DTRRXfull flag, then a following read of<br />

the CP14 DTR returns an Unpredictable value.<br />

• If a read of the CP14 DSCR returns 0 for the DTRTXfull flag, then a following write to<br />

the CP14 DTR writes the intended 32-bit word, and sets DTRTXfull to 1. No prefetch<br />

flush is required between these two CP14 instructions.<br />

• If a read of the CP14 DSCR returns 1 for the DTRTXfull flag, then a following write to<br />

the CP14 DTR is Unpredictable.<br />

When nonblocking mode is selected for DTR accesses, the following conditions are true for<br />

memory-mapped DSCR, memory-mapped DTRRX, and DTRTX registers:<br />

• If a read of the memory-mapped DSCR returns 0 for the DTRRXfull flag, then a following<br />

write of the memory-mapped DTRRX passes valid data to the processor and sets<br />

DTRRXfull to 1.<br />

• If a read of the memory-mapped DSCR returns 1 for the DTRRXfull flag, then a following<br />

write of the memory-mapped DTRRX is ignored, that is, both DTRRXfull and DTRRX<br />

contents are unchanged.<br />

• If a read of the memory-mapped DSCR returns 1 for the DTRTXfull flag, then a following<br />

read of the memory-mapped DTRTX returns valid data and clears DTRTXfull to 0.<br />

• If a read of the memory-mapped DSCR returns 0 for the DTRTXfull flag, then a following<br />

read of the memory-mapped DTRTX is ignored, for example, the content of DTRTXfull<br />

is unchanged and the read returns an Unpredictable value.<br />

Other uses of the DCC resources are not supported by the <strong>ARM</strong>v7 debug architecture. In<br />

particular, <strong>ARM</strong>v7 debug does not support the following:<br />

• polling CP14 DSCR[30:29] flags to access the memory-mapped DTRRX and DTRTX<br />

registers<br />

• polling memory-mapped DSCR[30:29] flags to access CP14 DTR.<br />

Note<br />

Using the DCC in any of the nonsupported ways can be subject to race conditions.<br />

Software access to the DCC<br />

Software running on the processor that sends data to the debugger through the transmit channel<br />

can use the following sequence of instructions as shown in Example 12-2.<br />

; r0 -> word to send to the debugger<br />

Example 12-2 Transmit data transfer (target end)<br />

<strong>ARM</strong> DDI 0344K Copyright © 2006-2010 <strong>ARM</strong> Limited. All rights reserved. 12-70<br />

ID060510 Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!