This is another cortex-A/M change
========================
There are multiple “dap” data structures in a few places - and there are
pointers to them in others.
This is problematic if there are multiple users of the same DAP
For example a Cortex A and Cortex M …
Example - There is a member variable:
ptrDAP->ap_current
That indicates which AP is currently selected on the DAP
Problem:
If there are multiple CPUs - i.e.: Cotex M and Cortex A that use the
same DAP
Currently the M and A have private copies of the DAP structure :-(
They all need to share the same DAP structure
Otherwise the two DAP structures will be inconsistent
Proposal:
Remove the DAP structure from current place.
In the “TAP” structure - add a “DAP” pointer
If the DAP is present - the pointer is not NULL
Thus, the dap would be defined as:
ptrTARGET->tap->ptrDAP
This is a messy change - that touches a lot of things and there are multiple
access points for this in many places.
ie: in the cortex_a code you will see/find many example of this sequence:
struct arm7a_common *arm7a = target_to_armv7a(target);
struct adiv5_dap *swjdp = armv7a->arm.dap;
Would be come:
struct adiv5_dap *swjdp = target_to_dap( target );
-Duane.
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos. Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel