tcl: introduce using_(jtag|swd|hla) helpers and use them in reset handler
Barely tested with plain SWD transport. Change-Id: I48b59136bf4294ffed737dba01f1b30ef83aa86b Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/2003 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
This commit is contained in:
committed by
Andreas Fritiofson
parent
36772a7ed0
commit
f8a6a07149
@@ -63,7 +63,7 @@ proc ocd_process_reset_inner { MODE } {
|
||||
|
||||
# Examine all targets on enabled taps.
|
||||
foreach t $targets {
|
||||
if {[jtag tapisenabled [$t cget -chain-position]]} {
|
||||
if {![using_jtag] || [jtag tapisenabled [$t cget -chain-position]]} {
|
||||
$t invoke-event examine-start
|
||||
set err [catch "$t arp_examine"]
|
||||
if { $err == 0 } {
|
||||
@@ -79,7 +79,7 @@ proc ocd_process_reset_inner { MODE } {
|
||||
}
|
||||
foreach t $targets {
|
||||
# C code needs to know if we expect to 'halt'
|
||||
if {[jtag tapisenabled [$t cget -chain-position]]} {
|
||||
if {![using_jtag] || [jtag tapisenabled [$t cget -chain-position]]} {
|
||||
$t arp_reset assert $halt
|
||||
}
|
||||
}
|
||||
@@ -94,7 +94,7 @@ proc ocd_process_reset_inner { MODE } {
|
||||
}
|
||||
foreach t $targets {
|
||||
# Again, de-assert code needs to know if we 'halt'
|
||||
if {[jtag tapisenabled [$t cget -chain-position]]} {
|
||||
if {![using_jtag] || [jtag tapisenabled [$t cget -chain-position]]} {
|
||||
$t arp_reset deassert $halt
|
||||
}
|
||||
}
|
||||
@@ -107,7 +107,7 @@ proc ocd_process_reset_inner { MODE } {
|
||||
# first executing any instructions.
|
||||
if { $halt } {
|
||||
foreach t $targets {
|
||||
if {[jtag tapisenabled [$t cget -chain-position]] == 0} {
|
||||
if {[using_jtag] && ![jtag tapisenabled [$t cget -chain-position]]} {
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ proc ocd_process_reset_inner { MODE } {
|
||||
#Pass 2 - if needed "init"
|
||||
if { 0 == [string compare init $MODE] } {
|
||||
foreach t $targets {
|
||||
if {[jtag tapisenabled [$t cget -chain-position]] == 0} {
|
||||
if {[using_jtag] && ![jtag tapisenabled [$t cget -chain-position]]} {
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -148,6 +148,21 @@ proc ocd_process_reset_inner { MODE } {
|
||||
}
|
||||
}
|
||||
|
||||
proc using_jtag {} {
|
||||
set _TRANSPORT [ transport select ]
|
||||
expr { [ string first "jtag" $_TRANSPORT ] != -1 }
|
||||
}
|
||||
|
||||
proc using_swd {} {
|
||||
set _TRANSPORT [ transport select ]
|
||||
expr { [ string first "swd" $_TRANSPORT ] != -1 }
|
||||
}
|
||||
|
||||
proc using_hla {} {
|
||||
set _TRANSPORT [ transport select ]
|
||||
expr { [ string first "hla" $_TRANSPORT ] != -1 }
|
||||
}
|
||||
|
||||
#########
|
||||
|
||||
# Temporary migration aid. May be removed starting in January 2011.
|
||||
|
||||
Reference in New Issue
Block a user