Duane Ellis: "target as an [tcl] object" feature.
[fw/openocd] / src / helper / startup.tcl
index 1b5c06e25b5904166c5cb1d6ac78148eb79663a2..63956a9ef46f237471deb2ed6f2d2d8ba8d09dfc 100644 (file)
@@ -109,18 +109,40 @@ proc unknown {args} {
        return -code error "Unknown command: $args"
 }
 
+proc new_target_name { } {
+    return [target number [expr [target count] - 1 ]]
+}
+
 
 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" 
-       
+    set tname [target number $target_num]
+    
+    if { 0 == [string compare $eventname "reset"] } {
+       $tname configure -event old-post_reset "script $scriptname"
+       return
+    }
+
+    if { 0 == [string compare $eventname "post_reset"] } {
+       $tname configure -event old-post_reset "script $scriptname"
+       return
+    }
+
+    if { 0 == [string compare $eventname "pre_reset"] } {
+       $tname configure -event old-pre_reset "script $scriptname"
+       return
+    }
+
+    if { 0 == [string compare $eventname "gdb_program_config"] } {
+       $tname configure -event old-gdb_program_config "script $scriptname"
+       return
+    }
+
+    return -code error "Unknown target (old) event: $eventname (try $tname configure -event NAME)"
+
 }
 
-add_help_text target_script "<target#> <event=reset/pre_reset/post_halt/pre_resume/gdb_program_config> <script_file>"
+add_help_text target_script "DEPRECATED please see the new TARGETNAME configure -event interface"
 
 
 # Try flipping / and \ to find file if the filename does not
@@ -170,4 +192,4 @@ proc jtag_rclk {fallback_speed_khz} {
        }
 }
 
-add_help_text jtag_rclk "fallback_speed_khz - set JTAG speed to RCLK or use fallback speed"
\ No newline at end of file
+add_help_text jtag_rclk "fallback_speed_khz - set JTAG speed to RCLK or use fallback speed"