jtag/drivers/cmsis_dap: add new backend cmsis_dap_tcp
Create a new backend for cmsis_dap driver that allows CMSIS-DAP protocol to run over TCP/IP instead of USB. An example implementation of the firmware for an SWD programmer that uses this cmsis_dap_tcp protocol can be found at the link below. https://github.com/bkuschak/cmsis_dap_tcp_esp32 Using this cmsis_dap_tcp backend with the firmware above on an ESP32-C6 programmer and STM32F401RE target shows the following performance: - loading 96KB image to RAM: 80 KB/sec - dumping 96KB image from RAM: 72 KB/sec - flashing 512KB image completes in about 13.5 seconds (including erase, program, and verify). Change-Id: I6e3e45016bd16ef2259561b1046788f5536b0687 Signed-off-by: Brian Kuschak <bkuschak@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/8973 Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com> Tested-by: jenkins
This commit is contained in:
committed by
Tomas Vanek
parent
64ed1c74d5
commit
fcff4b712c
10
configure.ac
10
configure.ac
@@ -204,6 +204,9 @@ m4_define([RSHIM_ADAPTER],
|
||||
m4_define([AMTJTAGACCEL_ADAPTER],
|
||||
[[[amtjtagaccel], [Amontec JTAG-Accelerator driver], [AMTJTAGACCEL]]])
|
||||
|
||||
m4_define([CMSIS_DAP_TCP_ADAPTER],
|
||||
[[[cmsis_dap_tcp], [CMSIS-DAP v2 compliant dongle (TCP)], [CMSIS_DAP_TCP]]])
|
||||
|
||||
m4_define([HOST_ARM_BITBANG_ADAPTERS],
|
||||
[[[ep93xx], [Bitbanging on EP93xx-based SBCs], [EP93XX]],
|
||||
[[at91rm9200], [Bitbanging on AT91RM9200-based SBCs], [AT91RM9200]]])
|
||||
@@ -327,7 +330,8 @@ AC_ARG_ADAPTERS([
|
||||
JTAG_VPI_ADAPTER,
|
||||
RSHIM_ADAPTER,
|
||||
XVC_ADAPTERS,
|
||||
LIBJAYLINK_ADAPTERS
|
||||
LIBJAYLINK_ADAPTERS,
|
||||
CMSIS_DAP_TCP_ADAPTER
|
||||
],[auto])
|
||||
|
||||
AC_ARG_ADAPTERS([
|
||||
@@ -623,6 +627,7 @@ PROCESS_ADAPTERS([LIBGPIOD_ADAPTERS], ["x$use_libgpiod" = "xyes"], [Linux libgpi
|
||||
PROCESS_ADAPTERS([DMEM_ADAPTER], ["x$is_linux" = "xyes"], [Linux /dev/mem])
|
||||
PROCESS_ADAPTERS([SYSFSGPIO_ADAPTER], ["x$is_linux" = "xyes"], [Linux sysfs])
|
||||
PROCESS_ADAPTERS([REMOTE_BITBANG_ADAPTER], [true], [unused])
|
||||
PROCESS_ADAPTERS([CMSIS_DAP_TCP_ADAPTER], [true], [unused])
|
||||
PROCESS_ADAPTERS([LIBJAYLINK_ADAPTERS], ["x$use_internal_libjaylink" = "xyes" -o "x$use_libjaylink" = "xyes"], [libjaylink-0.2])
|
||||
PROCESS_ADAPTERS([XVC_ADAPTERS], ["x$is_linux" = "xyes" -a "x$ac_cv_header_linux_pci_h" = "xyes"], [Linux build])
|
||||
PROCESS_ADAPTERS([SERIAL_PORT_ADAPTERS], ["x$can_build_buspirate" = "xyes"],
|
||||
@@ -682,6 +687,8 @@ AS_IF([test "x$enable_stlink" != "xno" -o "x$enable_ti_icdi" != "xno" -o "x$enab
|
||||
AM_CONDITIONAL([HLADAPTER_STLINK], [test "x$enable_stlink" != "xno"])
|
||||
AM_CONDITIONAL([HLADAPTER_ICDI], [test "x$enable_ti_icdi" != "xno"])
|
||||
AM_CONDITIONAL([HLADAPTER_NULINK], [test "x$enable_nulink" != "xno"])
|
||||
AM_CONDITIONAL([CMSIS_DAP_CORE],
|
||||
[test "x$enable_cmsis_dap" != "xno" -o "x$enable_cmsis_dap_v2" != "xno" -o "x$enable_cmsis_dap_tcp" != "xno"])
|
||||
|
||||
AS_IF([test "x$enable_jlink" != "xno"], [
|
||||
AS_IF([test "x$use_internal_libjaylink" = "xyes"], [
|
||||
@@ -832,6 +839,7 @@ m4_foreach([adapterTuple], [USB1_ADAPTERS,
|
||||
AMTJTAGACCEL_ADAPTER,
|
||||
HOST_ARM_BITBANG_ADAPTERS,
|
||||
HOST_ARM_OR_AARCH64_BITBANG_ADAPTERS,
|
||||
CMSIS_DAP_TCP_ADAPTER,
|
||||
DUMMY_ADAPTER,
|
||||
OPTIONAL_LIBRARIES,
|
||||
COVERAGE],
|
||||
|
||||
Reference in New Issue
Block a user