riscv-openocd/tcl/interface
Antonio Borneo 944d3e6771 stlink: add DAP direct driver
STLINK-V3 and the new firmware V2J24 for ST-LINK/V2 provide API
to directly access the DAP registers.
This mode permits to use the native target in cortex_m.c, with no
need to override it with the target in hla_target.c.
Other advantages wrt HLA are: support for Cortex-A cores, support
for SoC multi-core and/or multi AP, support for OpenOCD commands
"dap" thus including control of CSW.
This obsoletes the existing HLA driver for ST-Link, that should
anyway be kept for those cases where it's not possible to update
the ST-Link firmware.

This commit introduces the minimal implementation for direct DAP
access. The implementation is much slower than the HLA because
every memory transfer requires several USB packets. Further
commits will close the performance gap.
The whole ST-Link driver is compiled under BUILD_HLADAPTER, to
remove the need to split the driver between the two modes. This
has to be reworked, but it's quite invasive!
A new interface file stlink-dap.cfg is added and should be used
in place of stlink.cfg to enable the DAP mode.
Documentation is updated and reports limitation on the maximum AP
number that can be accessed by ST-Link for some firmware already
tested.

Change-Id: I932ffe16bc81d00b1fe489e2944fda13470cce9b
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/4904
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
2020-01-14 11:40:36 +00:00
..
ftdi Update FTDI C232HM cfg, and add two new cfgs from cable modem research 2019-10-15 09:01:14 +01:00
altera-usb-blaster.cfg tcl: interface: usb blaster I: specify driver explicitly 2018-03-13 08:41:43 +00:00
altera-usb-blaster2.cfg jtag/drivers: add USB-Blaster II 2014-01-20 13:28:02 +00:00
arm-jtag-ew.cfg Move TCL script files -- Step 2 of 2: 2009-05-27 06:49:24 +00:00
at91rm9200.cfg Move TCL script files -- Step 2 of 2: 2009-05-27 06:49:24 +00:00
buspirate.cfg Add SWD protocol support to buspirate (2nd try) 2018-03-12 14:14:36 +00:00
calao-usb-a9260.cfg rename jtag_nsrst_delay as adapter_nsrst_delay 2010-03-15 08:41:30 -07:00
chameleon.cfg Move TCL script files -- Step 2 of 2: 2009-05-27 06:49:24 +00:00
cmsis-dap.cfg cmsis-dap: add serial number support 2014-10-16 12:30:50 +00:00
dummy.cfg Move TCL script files -- Step 2 of 2: 2009-05-27 06:49:24 +00:00
estick.cfg jtag: add opendous and estick support 2012-05-14 09:41:49 +00:00
flashlink.cfg interface configs: Fix whitespace and other issues. 2011-10-30 02:06:07 +00:00
ft232r.cfg jtag: drivers: add support for FT232R sync bitbang JTAG interfaces 2018-03-13 08:47:46 +00:00
imx-native.cfg imx_gpio: add mmap based jtag interface for IMX processors 2017-05-31 08:16:17 +01:00
jlink.cfg interface/jlink: Fix comment about serial number 2016-04-12 17:03:02 +01:00
jtag_vpi.cfg jtag_vpi: make the server address configurable 2013-12-31 12:00:49 +00:00
kitprog.cfg jtag/drivers: Add Cypress KitProg driver 2017-05-12 10:08:43 +01:00
nds32-aice.cfg aice: add Andes AICE support 2013-06-05 19:27:23 +00:00
opendous.cfg jtag: add opendous and estick support 2012-05-14 09:41:49 +00:00
openjtag.cfg Added OpenJTAG Driver 2013-06-05 19:52:15 +00:00
osbdm.cfg jtag_interface: .speed can be NULL when not needed 2013-02-08 22:33:19 +00:00
parport.cfg tcl/interface/parport: default to sane value on non-windows systems 2015-04-14 11:42:32 +01:00
parport_dlc5.cfg interface configs: Fix whitespace and other issues. 2011-10-30 02:06:07 +00:00
raspberrypi-native.cfg tcl: interface: harmonise RPi configs 2018-01-30 07:39:24 +00:00
raspberrypi2-native.cfg tcl: interface: harmonise RPi configs 2018-01-30 07:39:24 +00:00
rlink.cfg Move TCL script files -- Step 2 of 2: 2009-05-27 06:49:24 +00:00
stlink-dap.cfg stlink: add DAP direct driver 2020-01-14 11:40:36 +00:00
stlink-v1.cfg jtag: drivers: stlink: handle all versions with single config 2017-12-12 21:13:55 +00:00
stlink-v2-1.cfg jtag: drivers: stlink: handle all versions with single config 2017-12-12 21:13:55 +00:00
stlink-v2.cfg jtag: drivers: stlink: handle all versions with single config 2017-12-12 21:13:55 +00:00
stlink.cfg stlink: add support for STLINK-V3 2018-12-06 13:06:59 +00:00
sysfsgpio-raspberrypi.cfg tcl: interface: harmonise RPi configs 2018-01-30 07:39:24 +00:00
ti-icdi.cfg jtag_interface: .speed can be NULL when not needed 2013-02-08 22:33:19 +00:00
ulink.cfg interface configs: Add missing URLs and names. 2011-11-03 23:53:26 +00:00
usb-jtag.cfg Remove support for the GPL incompatible FTDI D2XX library 2016-11-06 09:47:12 +00:00
usbprog.cfg interface configs: Fix whitespace and other issues. 2011-10-30 02:06:07 +00:00
vsllink.cfg versaloon driver update 2011-08-16 12:50:38 +01:00
xds110.cfg jtag/drivers: Add support for TI XDS110 debug probe 2018-05-31 13:25:16 +01:00