git-svn-id: svn://svn.berlios.de/openocd/trunk@1143 b42882b7-edfa-0310-969c-e2dbd0fdcd60
__archive__
oharboe 2008-11-07 07:06:35 +00:00
parent 5aa7985bc7
commit 21e25ea7ba
1 changed files with 12 additions and 12 deletions

View File

@ -11,7 +11,7 @@ Thing described here are *totally* TCL generic... not Jim specific.
The goal of this document is to encourage you to add your own set of
chips to the TCL package - and most importantly you should know where
you should put them - so they end up in an orginized way.
you should put them - so they end up in an organized way.
--Duane Ellis.
duane@duaneellis.com
@ -34,7 +34,7 @@ The concept is this:
tcl/cpu/arm/<NAME>.tcl.
Yes, that is where you should put "core" specific things.
Be carefull and learn the difference:
Be careful and learn the difference:
THE "CORE" - is not the entire chip!
@ -78,9 +78,9 @@ Next you see a series of:
set NAME VALUE
It is mostly "obious" what is going on.
It is mostly "obvious" what is going on.
Execption: The arrays.
Exception: The arrays.
You would *THINK* Tcl supports arrays.
In fact, multi-dim arrays. That is false.
@ -126,7 +126,7 @@ This means it is evaluated when the file is parsed.
== SIDEBAR: About The FOR command ==
In TCL, "FOR" is a funny thing, it is not what you think it is.
Syntatically - FOR is a just a command, it is not language
Syntactically - FOR is a just a command, it is not language
construct like for(;;) in C...
The "for" command takes 4 parameters.
@ -135,7 +135,7 @@ The "for" command takes 4 parameters.
(3) the "next command"
(4) the "body command" of the FOR loop.
Notice I used the words "command" and "expresion" above.
Notice I used the words "command" and "expression" above.
The FOR command:
1) executes the "initial command"
@ -219,7 +219,7 @@ All memory regions must have 2 things:
WIDTH - the accessable width.
ie: Some regions of memory are not 'word'
accessable.
accessible.
The function "address_info" - given an address should
tell you about the address.
@ -237,7 +237,7 @@ proc memread8 { ADDR }
All read memory - and return the contents.
[ fixme: 7/5/2008 - I need to create "memwrite" functions]
[ FIXME: 7/5/2008 - I need to create "memwrite" functions]
**************************************************
***************************************************
@ -294,15 +294,15 @@ The "IF" command expects either 2 params, or 4 params.
Yea, the entire thing is done that way.
IF is a command. SO is "FOR" and "WHILE" and "DO" and the
others. That is why I keep using the prhase it is a "command"
others. That is why I keep using the phase it is a "command"
=== END: Sidebar: About "commands" ===
Paramter 1 to the IF command is expected to be an expression.
Parameter 1 to the IF command is expected to be an expression.
As such, I do not need to wrap it in {braces}.
In this case, the "expression" is the resul of the "CATCH" command.
In this case, the "expression" is the result of the "CATCH" command.
CATCH - is an error catcher.
@ -314,7 +314,7 @@ You give CATCH 1 or 2 parameters.
The "![catch command]" is self explaintory.
The 3rd parameter to IF must be exacty "else" or "elseif" [I lied
The 3rd parameter to IF must be exactly "else" or "elseif" [I lied
above, the IF command can take many parameters they just have to
be joined by exactly the words "else" or "elseif".