stlink: add DAP direct driver
authorAntonio Borneo <borneo.antonio@gmail.com>
Mon, 28 Jan 2019 17:53:53 +0000 (18:53 +0100)
committerTomas Vanek <vanekt@fbl.cz>
Tue, 14 Jan 2020 11:40:36 +0000 (11:40 +0000)
commit944d3e6771bd34e6495276a154929c2c0baf5e0a
treee56bb4ff3a63d55b9ddd220e2640db0d2b8e627c
parenta61ec3c1d73dc0c9915662f7b9383b6f786a5fea
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>
doc/openocd.texi
src/jtag/drivers/stlink_usb.c
src/jtag/interfaces.c
src/target/arm_adi_v5.h
tcl/interface/stlink-dap.cfg [new file with mode: 0644]