Commit Graph

8 Commits

Author SHA1 Message Date
Antonio Borneo e680841fd2 helper/command: pass command arguments also as Jim_Obj
Some OpenOCD command gets fragment of TCL scripts as command-line
argument, fragments that will be kept and executed later on.
E.g. the command 'configure' gets the body of an OpenOCD event:
	$TARGET configure -event halted {TCL code}

These commands store the argument as a Jim_Obj and pass it to the
jimtcl interpreter when the TCL fragment has to be executed.
Using Jim_Obj as storage is relevant to let the jimtcl interpreter
to recover extra info of the TCL fragment, like the file-name and
the line-number that contain the fragment, that will be printed
out in case of run-time errors.

While converting the commands to COMMAND_HANDLER, we should avoid
storing the argument as C strings otherwise we will loose precious
info in case of run-time errors making challenging the debugging
of such TCL fragments.

Extend the struct command_invocation to contain the array that
points to the Jim_Obj of the command arguments.
This will be used while converting commands to COMMAND_HANDLER.

Change-Id: If37c5f20e9a71349f77ba1571baf1e6778e28aa5
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8057
Tested-by: jenkins
2024-01-13 14:44:32 +00:00
Yasushi SHOJI f68ade529a doc/manual: Fix function name typo
We have both the singular form, register_command(), and the plural form
register_commands().

Change-Id: I905ea83988b8ac70dd809b02d53b646aa4d66697
Signed-off-by: Yasushi SHOJI <yashi@spacecubics.com>
Reviewed-on: http://openocd.zylin.com/6042
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
2021-02-03 17:19:01 +00:00
Robert P. J. Day e4b5e8fb02 Some minor URL fixes and typo fixes, no functional changes.
Change-Id: Ib262d9e6330c35d26868942b821de7b53e00b854
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Reviewed-on: http://openocd.zylin.com/1859
Tested-by: jenkins
Reviewed-by: Bill Traynor <btraynor@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
2014-01-11 08:13:53 +00:00
Zachary T Welch ed90b6659f update command handler documentation
Adds sections on command registration and chaining, giving an overview
to developers that want to use these features.
2009-11-25 10:29:06 -08:00
Zachary T Welch 789d47c180 update command_handler documentation
Improve the developer manual and primer sections which talk about
writing command handlers.  Notably, it documents the new CMD_* macros.
2009-11-17 11:40:21 -08:00
Zachary T Welch 6435e75e14 update developer manual for new types
Update the style guide and chase obvious references to structures
that have been renamed.
2009-11-13 13:38:35 -08:00
Zachary T Welch ebbc762182 add documention for writing built-in commands
This documentation update provides an introduction to the command
handling facilities provided by command.[ch].  A primer walks the user
through the elements of a pointedly pedantic module: src/hello.c.

A summary of the API is provided in the OpenOCD Architecture section.
2009-11-13 11:02:22 -08:00
zwelch 624aa80f84 Commit skeleton files for high-level developer manual using doxygen.
git-svn-id: svn://svn.berlios.de/openocd/trunk@1771 b42882b7-edfa-0310-969c-e2dbd0fdcd60
2009-05-13 08:58:08 +00:00