4.2.8. Common debug port features and registers

This section describes specific information about features and registers that are present in this implementation of SW-DP and JTAG-DP as part of the SWJ-DP. See the ARM® Debug Interface Architecture Specification, ADIv5.0 to ADIv5.2.

This section contains the following:

Features overview

Both the SW-DP and JTAG-DP views within the SWJ-DP contain the same features as those that are defined in the ARM® Debug Interface Architecture Specification, ADIv5.0 to ADIv5.2. The following features are included:

  • Sticky flags and debug port error responses as a result of either a read and write error response from the system or because of an overrun detection, STICKYORUN.

  • Pushed compare and pushed verify to enable more optimized control from a debugger by performing a set of write transactions and enabling any comparison operation to be done within the debug port. See Example pushed operations.

  • Transaction counter to recover to a point within a repeated operation.

  • System and debug power and debug reset control. This is to enable an external debugger to connect to a potentially turned-off system and to power up as much as is required to get a basic level of debug access with minimal understanding of the system.

For more information, see the ARM® Debug Interface Architecture Specification, ADIv5.0 to ADIv5.2

Example pushed operations

These are two examples that use this specific implementation of the ARM® Debug Interface Architecture Specification, ADIv5.0 to ADIv5.2. All register and feature references relate to this specification.

This section contains the following examples:

Example use of pushed verify operation on an AHB-AP

You can use pushed verify to verify the contents of system memory as follows:

  1. Make sure that the AHB-AP Control/Status Word (CSW) is set up to increment the Transfer Address Register (TAR) after each access.

  2. Write to the TAR to indicate the start address of the Debug Register region that is to be verified.

  3. Write a series of expected values as access port transactions. On each write transaction, the debug port issues an access port read access, compares the result against the value from the access port write transaction, and sets the STICKYCMP bit in the CTRL/STAT Register if the values do not match. The TAR is incremented on each transaction.

In this way, the series of values is compared against the contents of the access port locations and STICKYCMP is set if they do not match.

Example use of pushed find operation on an AHB-AP

You can use pushed find to search system memory for a particular word. If you use pushed find with byte lane masking you can search for one or more bytes.

  1. Make sure that the AHB-AP CSW is set up to increment the TAR after each access.

  2. Write to the TAR to indicate the start address of the Debug Register region that is to be searched.

  3. Write the value to be searched for as an AP write transaction. The debug port repeatedly reads the location indicated by the TAR. On each debug port read:

    • The value returned is compared with the value from the access port write transaction. If they match, the STICKYCMP flag is set.

    • The TAR is incremented.

This continues until STICKYCMP is set or you terminate the search using ABORT.

You can also use pushed find without address incrementing to poll a single location, for example, to test for a flag being set on completion of an operation.

Copyright © 2011-2013 ARM. All rights reserved.ARM DDI 0480F
Non-ConfidentialID100313