1.2.3. Multiple clients of the TAPOp layer

There can be several simultaneous clients to the TAPOp layer, each one connected to a different TAP controller. Alternatively, clients can connect to the same TAP controller but only if they do not share any resources other than:

Two debuggers that access distinct sets of scan chains can both be clients. For example, a DSP scan chain connected to an extra scan chain of the ARM TAP controller. However, two debuggers that access the same scan chain cannot rely on the TAPOp interface to separate their accesses, particularly in the case of potentially sharable resources such as EmbeddedICE breakpoint registers. For example, two debuggers that talk to the same processor must cooperate at a higher level. The ARM Remote Debug Interface (RDI) is a suitable level for an ARM processor.

To manage several clients using this interface simultaneously, most of the operations in this interface implicitly request that the client becomes the sole user of the Multi-ICE hardware for the duration of the request. A boolean parameter, deselect, indicates if the client is ready to give up this ownership when the operation is complete. When a request to the server is made, if another client has ownership of the Multi-ICE hardware the call fails and the operation is not performed. It is the responsibility of the client to try again. Retrying calls is part of the job of the TAPCheck macro.

When a client relinquishes ownership of the Multi-ICE hardware, the TAP interface guarantees that the next time that client gains access to the TAP controller:

In return, the interface requires that ownership is relinquished only when the TAP controller is in either Run-Test/Idle or Select-DR-Scan state. This is only an issue for the TAPOp_AnySequence_W and TAPOp_AnySequence_RW operations, because all other operations leave the TAP controller in one of these two states.

The Multi-ICE server keeps track of the following for each TAPOp connection:

Copyright © 1998-2002 ARM Limited. All rights reserved.ARM DUI 0154B
Non-Confidential