aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJeremy Herbert <jeremy.006@gmail.com>2023-02-07 12:02:31 +1000
committerAntonio Borneo <borneo.antonio@gmail.com>2023-12-16 07:55:38 +0000
commite8e09b1b5513f0decf31aaa25151858fae126e1e (patch)
tree632989595057fbe229c5f86be0b1414ad69f8cc1 /doc
parent16e9b9c44fa62ea6eec99d1fb7bc43a8f1cc2f7e (diff)
downloadriscv-openocd-e8e09b1b5513f0decf31aaa25151858fae126e1e.zip
riscv-openocd-e8e09b1b5513f0decf31aaa25151858fae126e1e.tar.gz
riscv-openocd-e8e09b1b5513f0decf31aaa25151858fae126e1e.tar.bz2
remote_bitbang: add use_remote_sleep option to send delays to remote
If the remote_bitbang host does not execute requests immediately, delays performed inside OpenOCD can be lost. This option allows the delays to be sent to the remote host so that they can be queued and executed in order. Signed-off-by: Jeremy Herbert <jeremy.006@gmail.com> Signed-off-by: David Ryskalczyk <david.rysk@gmail.com> Change-Id: Ie1b09e09ea132dd528139618e4305154819cbc9e Reviewed-on: https://review.openocd.org/c/openocd/+/7472 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Diffstat (limited to 'doc')
-rw-r--r--doc/manual/jtag/drivers/remote_bitbang.txt14
-rw-r--r--doc/openocd.texi18
2 files changed, 30 insertions, 2 deletions
diff --git a/doc/manual/jtag/drivers/remote_bitbang.txt b/doc/manual/jtag/drivers/remote_bitbang.txt
index 7c8eee2..94d6038 100644
--- a/doc/manual/jtag/drivers/remote_bitbang.txt
+++ b/doc/manual/jtag/drivers/remote_bitbang.txt
@@ -37,12 +37,16 @@ swdio_read
swd_write
Set the value of swclk (tck) and swdio (tms).
+(optional) sleep
+ Instructs the remote host to sleep/idle for some period of time before
+ executing the next request
+
An additional function, quit, is added to the remote_bitbang interface to
indicate there will be no more requests and the connection with the remote
driver should be closed.
-These eight functions are encoded in ASCII by assigning a single character to
-each possible request. The assignments are:
+The eight mandatory functions are encoded in ASCII by assigning a single
+character to each possible request. The assignments are:
B - Blink on
b - Blink off
@@ -70,4 +74,10 @@ each possible request. The assignments are:
The read responses are encoded in ASCII as either digit 0 or 1.
+If the use_remote_sleep option is set to 'yes', two additional requests may
+be sent:
+
+ D - Sleep for 1 millisecond
+ d - Sleep for 1 microsecond
+
*/
diff --git a/doc/openocd.texi b/doc/openocd.texi
index 6c6519d..ec7c996 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -2839,6 +2839,15 @@ 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.
@end deffn
+@deffn {Config Command} {remote_bitbang use_remote_sleep} (on|off)
+If this option is enabled, delays will not be executed locally but instead
+forwarded to the remote host. This is useful if the remote host performs its
+own request queuing rather than executing requests immediately.
+
+This is disabled by default. This option must only be enabled if the given
+remote_bitbang host supports receiving the delay information.
+@end deffn
+
For example, to connect remotely via TCP to the host foobar you might have
something like:
@@ -2848,6 +2857,15 @@ remote_bitbang port 3335
remote_bitbang host foobar
@end example
+And if you also wished to enable remote sleeping:
+
+@example
+adapter driver remote_bitbang
+remote_bitbang port 3335
+remote_bitbang host foobar
+remote_bitbang use_remote_sleep on
+@end example
+
To connect to another process running locally via UNIX sockets with socket
named mysocket: