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"

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

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"
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>


+ 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
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
sockets instead of TCP.
@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
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

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

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

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

@example
adapter driver remote_bitbang
remote_bitbang_port 0
remote_bitbang_host mysocket
remote_bitbang port 0
remote_bitbang host mysocket
@end example
@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;
}

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,
.mode = COMMAND_CONFIG,
.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",
},
{
.name = "remote_bitbang_host",
.name = "host",
.handler = remote_bitbang_handle_remote_bitbang_host_command,
.mode = COMMAND_CONFIG,
.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,
};

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)
{
/* 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
}

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
proc openjtag_device_desc args {
echo "DEPRECATED! use 'openjtag device_desc' not 'openjtag_device_desc'"


Loading…
Cancel
Save