-# We need to explicitly redirect this to the OpenOCD command
-# as Tcl defines the exit proc
-proc exit {} {
- ocd_throw exit
-}
-
-#Print help text for a command. Word wrap
-#help text that is too wide inside column.
-proc help {args} {
- global ocd_helptext
- set cmd $args
- foreach a [lsort $ocd_helptext] {
- if {[string length $cmd]==0||[string first $cmd $a]!=-1||[string first $cmd [lindex $a 1]]!=-1} {
- set w 50
- set cmdname [lindex $a 0]
- set h [lindex $a 1]
- set n 0
- while 1 {
- if {$n > [string length $h]} {break}
-
- set next_a [expr $n+$w]
- if {[string length $h]>$n+$w} {
- set xxxx [string range $h $n [expr $n+$w]]
- for {set lastpos [expr [string length $xxxx]-1]} {$lastpos>=0&&[string compare [string range $xxxx $lastpos $lastpos] " "]!=0} {set lastpos [expr $lastpos-1]} {
- }
- #set next_a -1
- if {$lastpos!=-1} {
- set next_a [expr $lastpos+$n+1]
- }
- }
-
-
- puts [format "%-25s %s" $cmdname [string range $h $n [expr $next_a-1]] ]
- set cmdname ""
- set n [expr $next_a]
- }
- }
- }
-}
-
-add_help_text help "Tcl implementation of help command"
-
-
-# If a fn is unknown to Tcl, we try to execute it as an OpenOCD command
-#
-# We also support two level commands. "flash banks" is translated to
-# flash_banks
-proc unknown {args} {
- # do the name mangling from "flash banks" to "flash_banks"
- if {[llength $args]>=2} {
- set cmd_name "[lindex $args 0]_[lindex $args 1]"
- # Fix?? add a check here if this is a command?
- # we'll strip away args until we fail anyway...
- return [eval "$cmd_name [lrange $args 2 end]"]
- }
- # This really is an unknown command.
- return -code error "Unknown command: $args"
-}
-
-
-proc target_script {target_num eventname scriptname} {
- if {[string compare $eventname reset]==0} {
- set eventname post_reset
- }
-
- # This is the script we invoke
- proc "target_[set target_num]_[set eventname]" {} "script $scriptname"
-
-}
-
-add_help_text target_script "<target#> <event=reset/pre_reset/post_halt/pre_resume/gdb_program_config> <script_file>"
-
-