|
|
@@ -62,7 +62,7 @@ Free Documentation License''. |
|
|
|
* About:: About OpenOCD |
|
|
|
* Developers:: OpenOCD Developer Resources |
|
|
|
* Debug Adapter Hardware:: Debug Adapter Hardware |
|
|
|
* About JIM-Tcl:: About JIM-Tcl |
|
|
|
* About Jim-Tcl:: About Jim-Tcl |
|
|
|
* Running:: Running OpenOCD |
|
|
|
* OpenOCD Project Setup:: OpenOCD Project Setup |
|
|
|
* Config File Guidelines:: Config File Guidelines |
|
|
@@ -503,38 +503,43 @@ FlashLINK JTAG programing cable for PSD and uPSD} |
|
|
|
|
|
|
|
@end itemize |
|
|
|
|
|
|
|
@node About JIM-Tcl |
|
|
|
@chapter About JIM-Tcl |
|
|
|
@cindex JIM Tcl |
|
|
|
@node About Jim-Tcl |
|
|
|
@chapter About Jim-Tcl |
|
|
|
@cindex Jim-Tcl |
|
|
|
@cindex tcl |
|
|
|
|
|
|
|
OpenOCD includes a small ``Tcl Interpreter'' known as JIM-Tcl. |
|
|
|
OpenOCD uses a small ``Tcl Interpreter'' known as Jim-Tcl. |
|
|
|
This programming language provides a simple and extensible |
|
|
|
command interpreter. |
|
|
|
|
|
|
|
All commands presented in this Guide are extensions to JIM-Tcl. |
|
|
|
All commands presented in this Guide are extensions to Jim-Tcl. |
|
|
|
You can use them as simple commands, without needing to learn |
|
|
|
much of anything about Tcl. |
|
|
|
Alternatively, can write Tcl programs with them. |
|
|
|
|
|
|
|
You can learn more about JIM at its website, @url{http://jim.berlios.de}. |
|
|
|
You can learn more about Jim at its website, @url{http://jim.berlios.de}. |
|
|
|
There is an active and responsive community, get on the mailing list |
|
|
|
if you have any questions. Jim-Tcl maintainers also lurk on the |
|
|
|
OpenOCD mailing list. |
|
|
|
|
|
|
|
@itemize @bullet |
|
|
|
@item @b{JIM vs. Tcl} |
|
|
|
@* JIM-TCL is a stripped down version of the well known Tcl language, |
|
|
|
which can be found here: @url{http://www.tcl.tk}. JIM-Tcl has far |
|
|
|
fewer features. JIM-Tcl is a single .C file and a single .H file and |
|
|
|
@item @b{Jim vs. Tcl} |
|
|
|
@* Jim-Tcl is a stripped down version of the well known Tcl language, |
|
|
|
which can be found here: @url{http://www.tcl.tk}. Jim-Tcl has far |
|
|
|
fewer features. Jim-Tcl is a single .C file and a single .H file and |
|
|
|
implements the basic Tcl command set. In contrast: Tcl 8.6 is a |
|
|
|
4.2 MB .zip file containing 1540 files. |
|
|
|
4.2 MB .zip file containing 1540 files. |
|
|
|
|
|
|
|
@item @b{Missing Features} |
|
|
|
@* Our practice has been: Add/clone the real Tcl feature if/when |
|
|
|
needed. We welcome JIM Tcl improvements, not bloat. |
|
|
|
needed. We welcome Jim-Tcl improvements, not bloat. Also there |
|
|
|
are a large number of optional Jim-Tcl features that are not |
|
|
|
enabled in OpenOCD. |
|
|
|
|
|
|
|
@item @b{Scripts} |
|
|
|
@* OpenOCD configuration scripts are JIM Tcl Scripts. OpenOCD's |
|
|
|
@* OpenOCD configuration scripts are Jim-Tcl Scripts. OpenOCD's |
|
|
|
command interpreter today is a mixture of (newer) |
|
|
|
JIM-Tcl commands, and (older) the orginal command interpreter. |
|
|
|
Jim-Tcl commands, and (older) the orginal command interpreter. |
|
|
|
|
|
|
|
@item @b{Commands} |
|
|
|
@* At the OpenOCD telnet command line (or via the GDB monitor command) one |
|
|
@@ -543,7 +548,10 @@ Some of the commands documented in this guide are implemented |
|
|
|
as Tcl scripts, from a @file{startup.tcl} file internal to the server. |
|
|
|
|
|
|
|
@item @b{Historical Note} |
|
|
|
@* JIM-Tcl was introduced to OpenOCD in spring 2008. |
|
|
|
@* Jim-Tcl was introduced to OpenOCD in spring 2008. Fall 2010, |
|
|
|
before OpenOCD 0.5 release OpenOCD switched to using Jim Tcl |
|
|
|
as a git submodule, which greatly simplified upgrading Jim Tcl |
|
|
|
to benefit from new features and bugfixes in Jim Tcl. |
|
|
|
|
|
|
|
@item @b{Need a crash course in Tcl?} |
|
|
|
@*@xref{Tcl Crash Course}. |
|
|
@@ -654,7 +662,7 @@ those channels. |
|
|
|
If you are having problems, you can enable internal debug messages via |
|
|
|
the @option{-d} option. |
|
|
|
|
|
|
|
Also it is possible to interleave JIM-Tcl commands w/config scripts using the |
|
|
|
Also it is possible to interleave Jim-Tcl commands w/config scripts using the |
|
|
|
@option{-c} command line switch. |
|
|
|
|
|
|
|
To enable debug output (when reporting problems or working on OpenOCD |
|
|
@@ -1354,7 +1362,7 @@ In addition to target-specific utility code, another way that |
|
|
|
board and target config files communicate is by following a |
|
|
|
convention on how to use certain variables. |
|
|
|
|
|
|
|
The full Tcl/Tk language supports ``namespaces'', but JIM-Tcl does not. |
|
|
|
The full Tcl/Tk language supports ``namespaces'', but Jim-Tcl does not. |
|
|
|
Thus the rule we follow in OpenOCD is this: Variables that begin with |
|
|
|
a leading underscore are temporary in nature, and can be modified and |
|
|
|
used at will within a target configuration file. |
|
|
@@ -7631,7 +7639,7 @@ learning Tcl, the intent of this chapter is to give you some idea of |
|
|
|
how the Tcl scripts work. |
|
|
|
|
|
|
|
This chapter is written with two audiences in mind. (1) OpenOCD users |
|
|
|
who need to understand a bit more of how JIM-Tcl works so they can do |
|
|
|
who need to understand a bit more of how Jim-Tcl works so they can do |
|
|
|
something useful, and (2) those that want to add a new command to |
|
|
|
OpenOCD. |
|
|
|
|
|
|
|