ARM Technical Support Knowledge Articles

Can you explain the DAP_WRITE_DPACC macro options in coresight DAP macro language ?

Applies to: DKR4

Scenario

When I do the following:

DAP_WRITE_DPACC DPADDR 0x12345678

DAP_READ_DPACC  DPADDR 0x12000070

The value being read through the DAP_READ_DPACC  instruction is 0x03084013. I was expecting to read 0x12000070.

Can you explain where these register read/write addresses to or from?

Answer

The register which is referred to by DPADDR is actually known as the AP SELECT register in the
documentation.

JTAG-DP: It is at address 0x8 when the Instruction Register (IR) contains DPACC, and is a
read/write

Register (table 6-2).

If you refer to this document, figure 6-4, you will find the bit assignments.

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0031a/index.html

From Table 6-3 of the Debug interface spec doc, you can see that APSELECT register is a write only register and reading from that address (0x8), is actually reading RESEND register.

APSELECT register is write only and there is no way to read it back by SW-DP.

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential