On Mar 23, 2009, at 7:57 PM, Duane Ellis wrote:

So - I guess the next step with OMAP - aka: CortexA8 is to figure out
how the DAP interface works.
The existing dap code - well - It's a bit confusing to me, and has such
wonderful documentation.


The dap code provides a layer to handle requests to the DPACC register. That's the bulk of it.

=======

I'm thinking that adding a "dap" command will be helpful - for both
Cortex M3 - and A8.  Any objections? Who knows a lot about this dap
thing? I'd like to ask a number of questions... what should the command
look like? What features/options should it have?


Yes, a dap command would be useful. You will find that there isn't a whole lot in the dap layer before you are dealing with the AHB and APB bus ports.

=======

Specifically - I'm looking at ARM IHI 0031A - Figure 2-2, page 2-9, PDF
page 45. There's this nice diagram that shows the 5 basic registers in
the DAP. I think having a command line exploration tool/command would be
very helpful. Any agreement?


Yes.

=======

Next, item is figuring out how the DAP is configured in the A8 - and
which 'ports' are implemented. on this beast, ie: What access points out of the DAP are implemented. In the M3 - it seems nicely documented This
part, I'm a bit confused about. Are you? Anybody else? The diagram
(figure 2-2 above for the M3) shows a "SELECT" register... offset 8 in
the DPACC range, the output of which becomes the APSEL (access port
select).  Hence, my idea of having a "dap" command that lets one
experiment and figure things out. Ideas/Suggestions? Objections?


ARM IHI 0031A is only the starting point for the generic ADIv5. You will probably also want DDI 0316D, IHI 0029B, and DDI 0314F. While we _could_ implement everything as specific lists of ports for a given part, the ADIv5 and CoreSight architecture provide a mechanism for autodiscovery. I'd prefer that any work on these types of devices use it.

=====

It seems, that we need to look at address 0xffc - in the "rom table" and
work backwards from there, ie: See IHI 0031A - section 1.2.3, And -
section 13.2 - the CID0 to CID3 registers... should lets us "walk" the
register tables. however, it seems the cortex_swjdp.c - seems to be some
what "purpose built" for the M3. Agree? Or am I missing something?


swjdp was written to handle the M3. A more general purpose layer would be useful. To do that, you need to consult the ROM tables at the DAP and AHB/APB levels. That tells us what debugging endpoints are available.

=====

My guess the "jtag-acces-port" interface is not one that is implemented,
but is documented in IHI 0031A, ie: section 2.2.1
this would be used for things internal that are Jtag type devices -
which don't exist.


I believe the JTAG AP is implemented, but there is no special functionality in it.

-Duane.







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

--
Rick Altherr
kc8...@kc8apf.net

"He said he hadn't had a byte in three days. I had a short, so I split it with him."
 -- Unsigned



Attachment: smime.p7s
Description: S/MIME cryptographic signature

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

Reply via email to