]> git.sur5r.net Git - openocd/commit
tcl_server: Support line buffers up to 4M (v3)
authorPhilipp Wagner <philipp.wagner@tum.de>
Tue, 23 Jun 2015 14:49:22 +0000 (16:49 +0200)
committerSpencer Oliver <spen@spen-soft.co.uk>
Wed, 30 Sep 2015 21:01:00 +0000 (22:01 +0100)
commit4b0477abc196d1488628131c18de742c092ad289
treefe1df8c6a4803d275361af3df390c1a5409aefe2
parent8bffcc0cd4fd6a92c8f9bbb28ccc14e4b51a576a
tcl_server: Support line buffers up to 4M (v3)

Currently, the maximum size of a command sent to the TCL server is
4k. This patch increases this limit up to 4M.

Reasoning:
To get high-speed JTAG data transfers, I'm using a very long shift
register. This reduces the overhead of the state changes, as well as the
latency due to the common USB adapter transfers considerably. In order
to submit those long DRSCAN commands to OpenOCD over the TCL/TCL
interface, long TCL command lines are required. This is enabled by this
patch.

v3:
Address review comments. Drop line instead of connection when realloc()
fails.

Changes in v2 of this patch:
The line buffer is allocated dynamically to avoid an OpenOCD memory
overhead if the large buffers are not used. The buffer starts at 4K and
increases exponentially up to 1M, and then linearly in 1M increments up
to 4M.

Change-Id: Iecaef6a56ed5e18e9de4d912a514031ea78fa3bd
Signed-off-by: Philipp Wagner <philipp.wagner@tum.de>
Reviewed-on: http://openocd.zylin.com/2837
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
src/server/tcl_server.c