FYI there is an "official documentation" out in the wild about the CMSIS
DAP (which includes the JTAG mode):
https://github.com/x893/CMSIS-DAP/tree/master/html
I have also started implementing this stuff ~ year ago, but I have not
finished it yet.
Regards,
Miklós Márton
2016-02-24 18:38 keltezéssel, Phillip Pearson írta:
Weird coincidence... I was just looking at implementing JTAG support
in the OpenOCD CMSIS-DAP driver last night. You want to look at the
code in interface/Common/src/DAP.c and interface/Common/inc/DAP.h in
the CMSIS-DAP code on https://github.com/mbedmicro/CMSIS-DAP --
there's a whole lot of high level JTAG stuff that's specific to ARM
processors, but if you want low level JTAG access, there's these two:
The DAP_SWJ_Sequence function (DAP command id 0x12, CMD_DAP_SWJ_SEQ in
cmsis_dap_usb.c) will clock a sequence of bits out TMS (=SWDIO) so you
can change TAP states.
The DAP_JTAG_Sequence function (DAP command id 0x14, CMD_DAP_SWJ_SEQ
in cmsis_dap_usb.c) will clock a sequence of bits out TDI and collect
the response from TDO, while holding TMS high or low as specified in
the info argument.
Then in cmsis_dap_execute_command you'll need to implement the missing
JTAG commands. I've done JTAG_TLR_RESET, and JTAG_PATHMOVE is pretty
easy, so if you want to avoid duplicating effort you could start on
JTAG_SCAN, which is the most complex one. If you look at the other
JTAG interfaces (ulink.c, usbprog.c etc) there'll be a ton of code to
work from.
You should be able to get it working without changing anything in the
jtag_interface struct... just change the cmsis_dap_transport line to
include jtag and it'll become user selectable from config using
'transport select jtag'.
static const char * const cmsis_dap_transport[] = { "swd", "jtag", NULL };
Cheers,
Phil
On Wed, Feb 24, 2016 at 8:20 AM, Martin Pruscha
<pruscha.mar...@gmail.com <mailto:pruscha.mar...@gmail.com>> wrote:
Hello Openocd devs!
I would like to be able to use cmsis-dap with jtag transport.
However, only swd transport seems to be implemented.
At what level should I implement the "choose jtag or swd" option?
The best place for that seems to be the tcl/target .cfg files, but
there
seems to be no good way to choose the transport for a certain
adapter/interface yet.
There also seems to be a lot of mixing of swd and jtag, for
example the
".swd" field in the "jtag_interface" struct. I am trying to clean this
up/remove this field and instead choose the driver/transport at a
later
stage by user input from the cfg files.
Regards
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
<mailto:OpenOCD-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/openocd-devel
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel