aboutsummaryrefslogtreecommitdiff
path: root/src/jtag/Makefile.am
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2020-01-26 17:00:55 +0100
committerAntonio Borneo <borneo.antonio@gmail.com>2020-05-24 21:29:42 +0100
commitac18e960ce79f06b22e71a17415be0feb741a482 (patch)
tree1f235cf901ec48a3d09cce24a5674ccea8b01df2 /src/jtag/Makefile.am
parent93c4c0fcbec1ebcb2ce19b37c39b63f10a91b9e8 (diff)
downloadriscv-openocd-ac18e960ce79f06b22e71a17415be0feb741a482.zip
riscv-openocd-ac18e960ce79f06b22e71a17415be0feb741a482.tar.gz
riscv-openocd-ac18e960ce79f06b22e71a17415be0feb741a482.tar.bz2
swim: abstract the transport in stm8 target
SWIM is implemented by (ab)using the HLA API. This was acceptable when OpenOCD code did not provided a clear separation between transports and related APIs. Still today SWIM in OpenOCD is only supported by STLink, so the decision to re-use the HLA API was the simpler way to implement it. After commit efd1d642220a ("adapter: switch from struct jtag_interface to adapter_driver") the transports API are better split and SWIM can be implemented as a separate set of API. This would open the possibility to extend OpenOCD for other adapters that provide SWIM, e.g. versaloon, or through SPI emulation [1]. Introduce a new set of files swim.[ch] to handle the SWIM API. Beside the API that almost match the transport low-level data communication (system_reset, read_mem, write_mem), add a further API reconnect. Today, inside HLA STLink code, the reconnect is implemented by hacking the HLA API state(). Please notice that due to this hack the return type is incorrect; stlink_usb_state() returns ERROR_OK in SWIM mode, while its return type is enum target_state. Ignore the type mismatch and still call the HLA API state in the new SWIM API reconnect. Further commit will fix it. [1] http://kuku.eu.org/?projects/stm8spi/stm8spi Change-Id: I52018e1e2200cbd41af8e5031f7b35dc761b61d6 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: http://openocd.zylin.com/5528 Tested-by: jenkins
Diffstat (limited to 'src/jtag/Makefile.am')
-rw-r--r--src/jtag/Makefile.am2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/jtag/Makefile.am b/src/jtag/Makefile.am
index a764863..b82914b 100644
--- a/src/jtag/Makefile.am
+++ b/src/jtag/Makefile.am
@@ -56,6 +56,7 @@ endif
%D%/interface.c \
%D%/interfaces.c \
%D%/tcl.c \
+ %D%/swim.c \
%D%/commands.h \
%D%/driver.h \
%D%/interface.h \
@@ -65,6 +66,7 @@ endif
%D%/minidriver/minidriver_imp.h \
%D%/minidummy/jtag_minidriver.h \
%D%/swd.h \
+ %D%/swim.h \
%D%/tcl.h \
$(JTAG_SRCS)