|
|
@@ -1,48 +1,48 @@ |
|
|
|
Plan for hosted scripting support in OpenOCD
|
|
|
|
============================================
|
|
|
|
Jim Tcl support in OpenOCD currently exists as a patch.
|
|
|
|
|
|
|
|
There has been some discussion on the list as to what
|
|
|
|
purpose scripting support might serve in OpenOCD.
|
|
|
|
|
|
|
|
Also Lua was proposed as a scripting language, but
|
|
|
|
only Jim Tcl has been forwarded as a patch.
|
|
|
|
|
|
|
|
Tcl is also backwards syntax compatible with OpenOCD
|
|
|
|
commands.
|
|
|
|
|
|
|
|
What scripting will not do
|
|
|
|
==========================
|
|
|
|
It is not the intention that normal OpenOCD users will
|
|
|
|
use tcl scripting extensively, write lots of clever scripts,
|
|
|
|
or contribute back to OpenOCD.
|
|
|
|
|
|
|
|
The scripting support is intended for developers of OpenOCD.
|
|
|
|
|
|
|
|
Target scripts can contain new procedures that end users may
|
|
|
|
tinker to their needs without really understanding tcl.
|
|
|
|
|
|
|
|
Since end users are not expected to mess with the scripting
|
|
|
|
language, the choice of language is not terribly important
|
|
|
|
to those same end users.
|
|
|
|
|
|
|
|
Uses of scripting
|
|
|
|
=================
|
|
|
|
Default implementation of procedures in tcl/procedures.tcl.
|
|
|
|
|
|
|
|
- Polymorphic commands for target scripts.
|
|
|
|
- there will be added some commands in Tcl that the target
|
|
|
|
scripts can replace.
|
|
|
|
- produce <productionfile> <serialnumber>. Default implementation
|
|
|
|
is to ignore serial number and write a raw binary file
|
|
|
|
to beginning of first flash. Target script can dictate
|
|
|
|
file format and structure of serialnumber. Tcl allows
|
|
|
|
an argument to consit of e.g. a list so the structure of
|
|
|
|
the serial number is not limited to a single string.
|
|
|
|
- reset handling. Precise control of how srst, trst &
|
|
|
|
tms is handled.
|
|
|
|
- replace some parts of the current command line handler.
|
|
|
|
This is only to simplify the implementation of OpenOCD
|
|
|
|
and will have no externally visible consequences.
|
|
|
|
Tcl has an advantage in that it's syntax is backwards
|
|
|
|
compatible with the current OpenOCD syntax.
|
|
|
|
Plan for hosted scripting support in OpenOCD |
|
|
|
============================================ |
|
|
|
Jim Tcl support in OpenOCD currently exists as a patch. |
|
|
|
|
|
|
|
There has been some discussion on the list as to what |
|
|
|
purpose scripting support might serve in OpenOCD. |
|
|
|
|
|
|
|
Also Lua was proposed as a scripting language, but |
|
|
|
only Jim Tcl has been forwarded as a patch. |
|
|
|
|
|
|
|
Tcl is also backwards syntax compatible with OpenOCD |
|
|
|
commands. |
|
|
|
|
|
|
|
What scripting will not do |
|
|
|
========================== |
|
|
|
It is not the intention that normal OpenOCD users will |
|
|
|
use tcl scripting extensively, write lots of clever scripts, |
|
|
|
or contribute back to OpenOCD. |
|
|
|
|
|
|
|
The scripting support is intended for developers of OpenOCD. |
|
|
|
|
|
|
|
Target scripts can contain new procedures that end users may |
|
|
|
tinker to their needs without really understanding tcl. |
|
|
|
|
|
|
|
Since end users are not expected to mess with the scripting |
|
|
|
language, the choice of language is not terribly important |
|
|
|
to those same end users. |
|
|
|
|
|
|
|
Uses of scripting |
|
|
|
================= |
|
|
|
Default implementation of procedures in tcl/procedures.tcl. |
|
|
|
|
|
|
|
- Polymorphic commands for target scripts. |
|
|
|
- there will be added some commands in Tcl that the target |
|
|
|
scripts can replace. |
|
|
|
- produce <productionfile> <serialnumber>. Default implementation |
|
|
|
is to ignore serial number and write a raw binary file |
|
|
|
to beginning of first flash. Target script can dictate |
|
|
|
file format and structure of serialnumber. Tcl allows |
|
|
|
an argument to consit of e.g. a list so the structure of |
|
|
|
the serial number is not limited to a single string. |
|
|
|
- reset handling. Precise control of how srst, trst & |
|
|
|
tms is handled. |
|
|
|
- replace some parts of the current command line handler. |
|
|
|
This is only to simplify the implementation of OpenOCD |
|
|
|
and will have no externally visible consequences. |
|
|
|
Tcl has an advantage in that it's syntax is backwards |
|
|
|
compatible with the current OpenOCD syntax. |