From bc25d4fa5eab27326c607f90f9f5f5393b3e632e Mon Sep 17 00:00:00 2001 From: oharboe Date: Mon, 13 Oct 2008 10:30:33 +0000 Subject: Fixed gaffes in reset script handling + improved error messages a bit. The file and line # of the syntax error in a reset script is now printed. git-svn-id: svn://svn.berlios.de/openocd/trunk@1042 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/helper/startup.tcl | 80 +++++++++++++++++++++++++------------------------- 1 file changed, 40 insertions(+), 40 deletions(-) (limited to 'src/helper/startup.tcl') diff --git a/src/helper/startup.tcl b/src/helper/startup.tcl index e3d750e0..a8006702 100644 --- a/src/helper/startup.tcl +++ b/src/helper/startup.tcl @@ -212,11 +212,11 @@ proc ocd_process_reset { MODE } { } foreach t [ target names ] { - # For compatiblity with 'old scripts' - $t invoke-event old-pre_reset - - # New event script. - $t invoke-event reset-start + # For compatiblity with 'old scripts' + $t invoke-event old-pre_reset + + # New event script. + $t invoke-event reset-start } # Init the tap controller. @@ -224,60 +224,60 @@ proc ocd_process_reset { MODE } { # Examine all targets. foreach t [ target names ] { - $t arp_examine + $t arp_examine } # Let the C code know we are asserting reset. foreach t [ target names ] { - $t invoke-event reset-assert-pre - # C code needs to know if we expect to 'halt' - $t arp_reset assert $halt - $t invoke-event reset-assert-post + $t invoke-event reset-assert-pre + # C code needs to know if we expect to 'halt' + $t arp_reset assert $halt + $t invoke-event reset-assert-post } # Now de-assert reset. foreach t [ target names ] { - $t invoke-event reset-deassert-pre - # Again, de-assert code needs to know.. - $t arp_reset deassert $halt - $t invoke-event reset-deassert-post + $t invoke-event reset-deassert-pre + # Again, de-assert code needs to know.. + $t arp_reset deassert $halt + $t invoke-event reset-deassert-post } # Pass 1 - Now try to halt. if { $halt } { - foreach t [target names] { - - # Wait upto 1 second for target to halt. Why 1sec? Cause - # the JTAG tap reset signal might be hooked to a slow - # resistor/capacitor circuit - and it might take a while - # to charge - - # Catch, but ignore any errors. - catch { $t arp_waitstate halted 1000 } - - # Did we succeed? - set s [$t curstate] - - if { 0 != [string compare $s "halted" ] } { - return -error [format "TARGET: %s - Not halted" $t] - } - } + foreach t [target names] { + + # Wait upto 1 second for target to halt. Why 1sec? Cause + # the JTAG tap reset signal might be hooked to a slow + # resistor/capacitor circuit - and it might take a while + # to charge + + # Catch, but ignore any errors. + catch { $t arp_waitstate halted 1000 } + + # Did we succeed? + set s [$t curstate] + + if { 0 != [string compare $s "halted" ] } { + return -error [format "TARGET: %s - Not halted" $t] + } + } } #Pass 2 - if needed "init" if { 0 == [string compare init $MODE] } { - foreach t [target names] { - set err [catch "$t arp_waitstate halted 5000"] - # Did it halt? - if { $err == 0 } { - $t invoke-event old-post_reset - $t invoke-event reset-init - } - } + foreach t [target names] { + set err [catch "$t arp_waitstate halted 5000"] + # Did it halt? + if { $err == 0 } { + $t invoke-event old-post_reset + $t invoke-event reset-init + } + } } foreach t [ target names ] { - $t invoke-event reset-end + $t invoke-event reset-end } } -- cgit v1.2.3-18-g5258