target/tcl: Add 'read_memory' and 'write_memory'
authorMarc Schink <dev@zapb.de>
Mon, 7 Jun 2021 14:55:24 +0000 (16:55 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sat, 12 Mar 2022 09:47:42 +0000 (09:47 +0000)
commit38183dc856fdb7e69c8407911ff16383f4b12247
treebf4e42cda7856622649b43e14c79406a9b7bf5c1
parentc5a23e96878d50b64b3d6ee4e52b37f58daaa17f
target/tcl: Add 'read_memory' and 'write_memory'

These functions are meant as replacement for 'mem2array' and
'array2mem'.

The main benefits of these new functions are:

 * They do not use Tcl arrays but lists which makes it easier
   to parse (generate) the data. See the Python Tcl RPC code
   in contrib as a negative example.

 * They do not operate on Tcl variables but instead return (accept)
   the Tcl list directly. This makes the C and Tcl code base
   smaller and cleaner.

 * The code is slightly more performant when reading / writing
   large amount of data. Tested with a simple Python Tcl RPC
   benchmark.

Change-Id: Ibd6ece3360c0d002abaadc37f078b10a8bb606f8
Signed-off-by: Marc Schink <dev@zapb.de>
Reviewed-on: https://review.openocd.org/c/openocd/+/6307
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
doc/openocd.texi
src/target/target.c