Browse Source

drivers/remote_bitbang: Group adapter commands

Use a command group 'remote_bitbang' with subcommands instead of individual
commands with 'remote_bitbang_' prefix.

The old commands are still available for backward compatibility but
marked as deprecated.

Change-Id: I2692320f19c8a357112a365db6ca7e13cd6ad411
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: http://openocd.zylin.com/6389
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
jim
Marc Schink 2 years ago
committed by Antonio Borneo
parent
commit
4a5045b143
4 changed files with 35 additions and 12 deletions
  1. +2
    -2
      contrib/remote_bitbang/remote_bitbang_sysfsgpio.c
  2. +7
    -7
      doc/openocd.texi
  3. +14
    -3
      src/jtag/drivers/remote_bitbang.c
  4. +12
    -0
      src/jtag/startup.tcl

+ 2
- 2
contrib/remote_bitbang/remote_bitbang_sysfsgpio.c View File

@@ -30,12 +30,12 @@
socat TCP6-LISTEN:7777,fork EXEC:"sudo ./remote_bitbang_sysfsgpio tck 11 tms 25 tdo 9 tdi 10" socat TCP6-LISTEN:7777,fork EXEC:"sudo ./remote_bitbang_sysfsgpio tck 11 tms 25 tdo 9 tdi 10"


On host run: On host run:
openocd -c "interface remote_bitbang; remote_bitbang_host raspberrypi; remote_bitbang_port 7777" \
openocd -c "interface remote_bitbang; remote_bitbang host raspberrypi; remote_bitbang port 7777" \
-f target/stm32f1x.cfg -f target/stm32f1x.cfg


Or if you want to test UNIX sockets, run both on Raspberry Pi: Or if you want to test UNIX sockets, run both on Raspberry Pi:
socat UNIX-LISTEN:/tmp/remotebitbang-socket,fork EXEC:"sudo ./remote_bitbang_sysfsgpio tck 11 tms 25 tdo 9 tdi 10" socat UNIX-LISTEN:/tmp/remotebitbang-socket,fork EXEC:"sudo ./remote_bitbang_sysfsgpio tck 11 tms 25 tdo 9 tdi 10"
openocd -c "interface remote_bitbang; remote_bitbang_host /tmp/remotebitbang-socket" -f target/stm32f1x.cfg
openocd -c "interface remote_bitbang; remote_bitbang host /tmp/remotebitbang-socket" -f target/stm32f1x.cfg
*/ */


#include <sys/types.h> #include <sys/types.h>


+ 7
- 7
doc/openocd.texi View File

@@ -2694,14 +2694,14 @@ instead of directly driving JTAG.
The remote_bitbang driver is useful for debugging software running on The remote_bitbang driver is useful for debugging software running on
processors which are being simulated. processors which are being simulated.


@deffn {Config Command} {remote_bitbang_port} number
@deffn {Config Command} {remote_bitbang port} number
Specifies the TCP port of the remote process to connect to or 0 to use UNIX Specifies the TCP port of the remote process to connect to or 0 to use UNIX
sockets instead of TCP. sockets instead of TCP.
@end deffn @end deffn


@deffn {Config Command} {remote_bitbang_host} hostname
@deffn {Config Command} {remote_bitbang host} hostname
Specifies the hostname of the remote process to connect to using TCP, or the Specifies the hostname of the remote process to connect to using TCP, or the
name of the UNIX socket to use if remote_bitbang_port is 0.
name of the UNIX socket to use if remote_bitbang port is 0.
@end deffn @end deffn


For example, to connect remotely via TCP to the host foobar you might have For example, to connect remotely via TCP to the host foobar you might have
@@ -2709,8 +2709,8 @@ something like:


@example @example
adapter driver remote_bitbang adapter driver remote_bitbang
remote_bitbang_port 3335
remote_bitbang_host foobar
remote_bitbang port 3335
remote_bitbang host foobar
@end example @end example


To connect to another process running locally via UNIX sockets with socket To connect to another process running locally via UNIX sockets with socket
@@ -2718,8 +2718,8 @@ named mysocket:


@example @example
adapter driver remote_bitbang adapter driver remote_bitbang
remote_bitbang_port 0
remote_bitbang_host mysocket
remote_bitbang port 0
remote_bitbang host mysocket
@end example @end example
@end deffn @end deffn




+ 14
- 3
src/jtag/drivers/remote_bitbang.c View File

@@ -340,9 +340,9 @@ COMMAND_HANDLER(remote_bitbang_handle_remote_bitbang_host_command)
return ERROR_COMMAND_SYNTAX_ERROR; return ERROR_COMMAND_SYNTAX_ERROR;
} }


static const struct command_registration remote_bitbang_command_handlers[] = {
static const struct command_registration remote_bitbang_subcommand_handlers[] = {
{ {
.name = "remote_bitbang_port",
.name = "port",
.handler = remote_bitbang_handle_remote_bitbang_port_command, .handler = remote_bitbang_handle_remote_bitbang_port_command,
.mode = COMMAND_CONFIG, .mode = COMMAND_CONFIG,
.help = "Set the port to use to connect to the remote jtag.\n" .help = "Set the port to use to connect to the remote jtag.\n"
@@ -350,7 +350,7 @@ static const struct command_registration remote_bitbang_command_handlers[] = {
.usage = "port_number", .usage = "port_number",
}, },
{ {
.name = "remote_bitbang_host",
.name = "host",
.handler = remote_bitbang_handle_remote_bitbang_host_command, .handler = remote_bitbang_handle_remote_bitbang_host_command,
.mode = COMMAND_CONFIG, .mode = COMMAND_CONFIG,
.help = "Set the host to use to connect to the remote jtag.\n" .help = "Set the host to use to connect to the remote jtag.\n"
@@ -360,6 +360,17 @@ static const struct command_registration remote_bitbang_command_handlers[] = {
COMMAND_REGISTRATION_DONE, COMMAND_REGISTRATION_DONE,
}; };


static const struct command_registration remote_bitbang_command_handlers[] = {
{
.name = "remote_bitbang",
.mode = COMMAND_ANY,
.help = "perform remote_bitbang management",
.chain = remote_bitbang_subcommand_handlers,
.usage = "",
},
COMMAND_REGISTRATION_DONE
};

static int remote_bitbang_execute_queue(void) static int remote_bitbang_execute_queue(void)
{ {
/* safety: the send buffer must be empty, no leftover characters from /* safety: the send buffer must be empty, no leftover characters from


+ 12
- 0
src/jtag/startup.tcl View File

@@ -261,6 +261,18 @@ proc ftdi_tdo_sample_edge args {
eval ftdi tdo_sample_edge $args eval ftdi tdo_sample_edge $args
} }


lappend _telnet_autocomplete_skip remote_bitbang_host
proc remote_bitbang_host args {
echo "DEPRECATED! use 'remote_bitbang host' not 'remote_bitbang_host'"
eval remote_bitbang host $args
}

lappend _telnet_autocomplete_skip remote_bitbang_port
proc remote_bitbang_port args {
echo "DEPRECATED! use 'remote_bitbang port' not 'remote_bitbang_port'"
eval remote_bitbang port $args
}

lappend _telnet_autocomplete_skip openjtag_device_desc lappend _telnet_autocomplete_skip openjtag_device_desc
proc openjtag_device_desc args { proc openjtag_device_desc args {
echo "DEPRECATED! use 'openjtag device_desc' not 'openjtag_device_desc'" echo "DEPRECATED! use 'openjtag device_desc' not 'openjtag_device_desc'"


Loading…
Cancel
Save