cmsis-dap: add initial cmsis-dap support

This is based on work from:
https://github.com/TheShed/OpenOCD-CMSIS-DAP/tree/cmsis-dap

Main changes include moving over to using HIDAPI rather than libusb-1.0
and cleaning up to merge into master. Support for reset using srst has
also been added.

It has been tested on all the mbed boards as well as the Freedom board
from Freescale. These boards only implement SWD mode, however JTAG mode
has been tested with a Keil ULINK2 and a stm32 target - but requires a lot
more work.

Change-Id: I96d5ee1993bc9c0526219ab754c5aad3b55d812d
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Signed-off-by: Andrey Yurovsky <yurovsky@gmail.com>
Reviewed-on: http://openocd.zylin.com/1542
Tested-by: jenkins
This commit is contained in:
Spencer Oliver
2013-12-19 21:33:19 +00:00
parent 4bff54ccf4
commit 4dc8cd201c
23 changed files with 1716 additions and 30 deletions

View File

@@ -490,6 +490,10 @@ Texas Instruments has an adapter called @b{ICDI}.
It is not to be confused with the FTDI based adapters that were originally fitted to their
evaluation boards. This is the adapter fitted to the Stellaris LaunchPad.
@section USB CMSIS-DAP based
ARM has released a interface standard called CMSIS-DAP that simplifies connecting
debuggers to ARM Cortex based targets @url{http://www.keil.com/support/man/docs/dapdebug/dapdebug_introduction.htm}.
@section USB Other
@itemize @bullet
@item @b{USBprog}
@@ -2541,6 +2545,23 @@ and a specific set of GPIOs is used.
@c chooses among list of bit configs ... only one option
@end deffn
@deffn {Interface Driver} {cmsis-dap}
CMSIS-DAP compliant based adapter.
@deffn {Config Command} {cmsis_dap_vid_pid} [vid pid]+
The vendor ID and product ID of the CMSIS-DAP device. If not specified
known default values are used.
Currently, up to eight [@var{vid}, @var{pid}] pairs may be given, e.g.
@example
cmsis_dap_vid_pid 0xc251 0xf001 0x0d28 0x0204
@end example
@end deffn
@deffn {Command} {cmsis-dap info}
Display various device information, like hardware version, firmware version, current bus status.
@end deffn
@end deffn
@deffn {Interface Driver} {dummy}
A dummy software-only driver for debugging.
@end deffn
@@ -3135,6 +3156,11 @@ Wire Control Register (WCR).
No parameters: displays current settings.
@end deffn
@subsection CMSIS-DAP Transport
@cindex CMSIS-DAP
CMSIS-DAP is an ARM-specific transport that is used to connect to
compilant debuggers.
@subsection SPI Transport
@cindex SPI
@cindex Serial Peripheral Interface