git-svn-id: svn://svn.berlios.de/openocd/trunk@1143 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
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 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 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 Ellis.
duane@duaneellis.com duane@duaneellis.com
@ -34,7 +34,7 @@ The concept is this:
tcl/cpu/arm/<NAME>.tcl. tcl/cpu/arm/<NAME>.tcl.
Yes, that is where you should put "core" specific things. 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! THE "CORE" - is not the entire chip!
@ -78,9 +78,9 @@ Next you see a series of:
set NAME VALUE 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. You would *THINK* Tcl supports arrays.
In fact, multi-dim arrays. That is false. 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 == == SIDEBAR: About The FOR command ==
In TCL, "FOR" is a funny thing, it is not what you think it is. 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... construct like for(;;) in C...
The "for" command takes 4 parameters. The "for" command takes 4 parameters.
@ -135,7 +135,7 @@ The "for" command takes 4 parameters.
(3) the "next command" (3) the "next command"
(4) the "body command" of the FOR loop. (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: The FOR command:
1) executes the "initial command" 1) executes the "initial command"
@ -219,7 +219,7 @@ All memory regions must have 2 things:
WIDTH - the accessable width. WIDTH - the accessable width.
ie: Some regions of memory are not 'word' ie: Some regions of memory are not 'word'
accessable. accessible.
The function "address_info" - given an address should The function "address_info" - given an address should
tell you about the address. tell you about the address.
@ -237,7 +237,7 @@ proc memread8 { ADDR }
All read memory - and return the contents. 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. Yea, the entire thing is done that way.
IF is a command. SO is "FOR" and "WHILE" and "DO" and the 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" === === 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}. 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. CATCH - is an error catcher.
@ -314,7 +314,7 @@ You give CATCH 1 or 2 parameters.
The "![catch command]" is self explaintory. 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 above, the IF command can take many parameters they just have to
be joined by exactly the words "else" or "elseif". be joined by exactly the words "else" or "elseif".