Hello all,

I've been researching through the reference manuals, OpenOCD sources and list 
archives in an effort to add support for the MPC55xx and 56xx series Freescale 
PowerPC CPU's.

The architectural problem I'm having at present, is that the TAP controller for 
the OnCE CPU debug engine is hidden behind a TAP switch (or mux if you prefer). 
 There are also two other useful TAP controllers in this switching scheme, an 
eDMA and eTPU debug interface.  I'd also guess that future variants with 
multiple CPU cores might also have several more TAP controllers in this kind of 
arrangement.

However, these auxiliary TAP controllers can only be enabled mutually 
exclusively (i.e. the master TAP is not a "router" but a "mux").  Control 
returns to the master TAP at the UPDATE-DR state after entering the PAUSE-DR 
state.  Though not explicitly stated anywhere in the documentation, I infer 
that this means that once a switch has occurred to an auxiliary TAP, one can 
remain "connected" to the auxiliary TAP by ensuring that the UPDATE-DR state is 
entered via the EXIT1-DR state.

I looked at the workaround by Rodrigo Rosa in a post from Feb this year for the 
DSP568013.  The 5xxx CPU's have virtually the same auxiliary switch setup, 
though in this case a one-of switch to the OnCE TAP will not suffice because 
I'd like for all the TAP controllers to be "enabled" the entire time to allow 
multiple debuggers to control execution of the eDMA and/or eTPU engines 
concurrently with debugging of the main CPU core.

What I'd like is for all the auxiliary TAPS to be defined as enabled even 
though technically they are not enabled until they are "switched to". Then 
under the covers somewhere a master TAP state is kept so that an attempted 
transaction on any of the auxiliary TAPS will allow a TAP switch to occur if 
required (i.e. run through the states to force control back to the master TAP 
then switch to the desired auxiliary TAP, then run the transaction).

This idea probably requires the notion of a TAP "mux" to be introduced, so that 
a "master" and a series of "child" TAPS can be defined in the configuration, 
along with their switching conditions.  

I'd very much appreciate thoughts on whether this would be the right way to go, 
and or any other ideas or guidance.

Cheers
Steve.
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to