# measure actual JTAG clock
proc measure_clk {} {
set start_time [ms];
- runtest 10000000;
- echo "Running at more than [expr 10000.0 / ([ms]-$start_time)] kHz";
+ set iterations 10000000;
+ runtest $iterations;
+ echo "Running at more than [expr $iterations.0 / ([ms]-$start_time)] kHz";
}
add_help_text measure_clk "Runs a test to measure the JTAG clk. Useful with RCLK / RTCK."
+proc default_to_jtag { f args } {
+ set current_transport [transport select]
+ if {[using_jtag]} {
+ eval $f $args
+ } {
+ error "session transport is \"$current_transport\" but your config requires JTAG"
+ }
+}
+
+proc jtag args {
+ eval default_to_jtag jtag $args
+}
+
+proc jtag_rclk args {
+ eval default_to_jtag jtag_rclk $args
+}
+
+proc jtag_ntrst_delay args {
+ eval default_to_jtag jtag_ntrst_delay $args
+}
+
+proc jtag_ntrst_assert_width args {
+ eval default_to_jtag jtag_ntrst_assert_width $args
+}
+
# BEGIN MIGRATION AIDS ... these adapter operations originally had
# JTAG-specific names despite the fact that the operations were not
# specific to JTAG, or otherewise had troublesome/misleading names.
# FIXME phase these aids out after about April 2011
#
proc jtag_khz args {
- echo "DEPRECATED! use 'adapter_khz' not 'jtag_khz'"
- eval adapter_khz $args
+ echo "DEPRECATED! use 'adapter speed' not 'jtag_khz'"
+ eval adapter speed $args
}
proc jtag_nsrst_delay args {
- echo "DEPRECATED! use 'adapter_nsrst_delay' not 'jtag_nsrst_delay'"
- eval adapter_nsrst_delay $args
+ echo "DEPRECATED! use 'adapter srst delay' not 'jtag_nsrst_delay'"
+ eval adapter srst delay $args
}
proc jtag_nsrst_assert_width args {
- echo "DEPRECATED! use 'adapter_nsrst_assert_width' not 'jtag_nsrst_assert_width'"
- eval adapter_nsrst_assert_width $args
+ echo "DEPRECATED! use 'adapter srst pulse_width' not 'jtag_nsrst_assert_width'"
+ eval adapter srst pulse_width $args
+}
+
+proc jtag_reset args {
+ echo "DEPRECATED! use 'adapter [de]assert' not 'jtag_reset'"
+ switch $args {
+ "0 0"
+ {eval adapter deassert trst deassert srst}
+ "0 1"
+ {eval adapter deassert trst assert srst}
+ "1 0"
+ {eval adapter assert trst deassert srst}
+ "1 1"
+ {eval adapter assert trst assert srst}
+ default
+ {return -code 1 -level 1 "jtag_reset: syntax error"}
+ }
}
# stlink migration helpers
eval hla $args
}
+proc adapter_khz args {
+ echo "DEPRECATED! use 'adapter speed' not 'adapter_khz'"
+ eval adapter speed $args
+}
+
+proc adapter_name args {
+ echo "DEPRECATED! use 'adapter name' not 'adapter_name'"
+ eval adapter name $args
+}
+
+proc adapter_nsrst_delay args {
+ echo "DEPRECATED! use 'adapter srst delay' not 'adapter_nsrst_delay'"
+ eval adapter srst delay $args
+}
+
+proc adapter_nsrst_assert_width args {
+ echo "DEPRECATED! use 'adapter srst pulse_width' not 'adapter_nsrst_assert_width'"
+ eval adapter srst pulse_width $args
+}
+
+proc interface args {
+ echo "DEPRECATED! use 'adapter driver' not 'interface'"
+ eval adapter driver $args
+}
+
+proc interface_transports args {
+ echo "DEPRECATED! use 'adapter transports' not 'interface_transports'"
+ eval adapter transports $args
+}
+
+proc interface_list args {
+ echo "DEPRECATED! use 'adapter list' not 'interface_list'"
+ eval adapter list $args
+}
+
+proc ftdi_location args {
+ echo "DEPRECATED! use 'adapter usb location' not 'ftdi_location'"
+ eval adapter usb location $args
+}
+
# END MIGRATION AIDS