openocd/src
Antonio Borneo ac18e960ce 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 efd1d64222 ("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
2020-05-24 21:29:42 +01:00
..
flash flash/nor/sh_qspi: Fix dead assignment 2020-05-24 21:27:08 +01:00
helper coding style: prototype of functions with no parameters 2020-05-09 14:39:59 +01:00
jtag swim: abstract the transport in stm8 target 2020-05-24 21:29:42 +01:00
pld helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
rtos rtos/ChibiOS: Fix some coding styles 2020-05-24 21:25:25 +01:00
server coding style: avoid unnecessary line continuations 2020-05-09 14:39:29 +01:00
svf coding style: avoid unnecessary line continuations 2020-05-09 14:39:29 +01:00
target swim: abstract the transport in stm8 target 2020-05-24 21:29:42 +01:00
transport coding style: remove useless break after a goto or return 2020-05-09 14:39:05 +01:00
xsvf xsvf: fix memory leak 2020-01-16 09:44:33 +00:00
hello.c helper/command: change prototype of command_print/command_print_sameline 2019-05-14 19:37:11 +01:00
hello.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00
main.c Remove FSF address from GPL notices 2016-05-24 22:30:01 +01:00
Makefile.am Convert to non-recursive make 2016-12-08 16:23:10 +00:00
openocd.c mflash: Remove this broken flash driver 2019-07-28 21:17:47 +01:00
openocd.h Make #include guard naming consistent 2016-05-24 22:30:55 +01:00