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>
This commit is contained in:
Marc Schink 2021-07-30 18:01:09 +02:00 committed by Antonio Borneo
parent dd04079c2c
commit 4a5045b143
4 changed files with 35 additions and 12 deletions

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>

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

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

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