Hello,
> The read and init operation is different in error handling between JTAG and
> SWD. Are there any other differences?
Yes, and init function should initialize selected adaptor instead of JTAG only.
> INIT function requires something like 'check and clear dap errors' to become
> transport independent. I have already created such function in libswd_dap.c
> please take a look - the parameters are pointers to CTRLSTAT and ABORT
> registers, the first will contain CTRLSTAT valuue upon return and ABORT
> contains mask which will tell what errors flags can be cleared (all of them
> if value is 0xFFFF). It would only require to do the same for JTAG and the
> aproppriate function wrapper :-) are there any other changes you want to do
> in this part?
No, all this is necessary. Again, no care how it is implemented, but it must be
implemented in some way for SWD.
> MEMAP_READ can be transport independent if the retry and error handling is
> done within transport function, which is already done with libswd_dap.c. This
> is already done by your Versaloon driver by the hardware. The only thing
> would be to change JTAG part, but the wrapper is okay for me at the moment
> because it works and it does not change existing JTAG code at all...
But if JTAG memap_read is transport independent, maybe there will be a
performance problem.
I'm not sure how to process this patch.
simonqian.openocd
From: Tomek CEDRO
Date: 2012-04-17 03:45
To: simonqian.openocd
CC: openocd-devel
Subject: Re: [OpenOCD-devel] about making mem_ap_read_buf_u32 adaptor
independent
Hello Simon :-)
The read and init operation is different in error handling between JTAG and
SWD. Are there any other differences?
INIT function requires something like 'check and clear dap errors' to become
transport independent. I have already created such function in libswd_dap.c
please take a look - the parameters are pointers to CTRLSTAT and ABORT
registers, the first will contain CTRLSTAT valuue upon return and ABORT
contains mask which will tell what errors flags can be cleared (all of them if
value is 0xFFFF). It would only require to do the same for JTAG and the
aproppriate function wrapper :-) are there any other changes you want to do in
this part?
MEMAP_READ can be transport independent if the retry and error handling is done
within transport function, which is already done with libswd_dap.c. This is
already done by your Versaloon driver by the hardware. The only thing would be
to change JTAG part, but the wrapper is okay for me at the moment because it
works and it does not change existing JTAG code at all...
Best regards :-)
Tomek
--
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
On Apr 16, 2012 7:54 PM, "simonqian.openocd" <[email protected]>
wrote:
Again, I post the similar topic for SWD support.
Before the SWD driver layer, there is only 2 fixes must be committed.
The first is to make mem_ap_read_buf_u32 adaptor independent.
The second is to add SWD support in ahbap_debugport_init.
So, some others should look into this.
I'll be on a 15-day holiday next Wendesday, so maybe I can't prepare for the
patch.
And actually, I don't know how to patch it.
Or I can add the second patch to review first.
simonqian.openocd
------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel
------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel