d90b86d8e3
This should allow most of the existing configurations for older versions to remain compatible without forcing the user to change his or her config to explicitly select transport. Also in some circumstances can remove the need to chain a "-c transport select X" when building custom configs on the command line, which seems like a common new user pitfall. Change-Id: Ic87a38c0b9b88e88fb6d106385efce2f39381d3d Suggested-by: Petteri Aimonen <jpa@git.mail.kapsi.fi> Signed-off-by: Angus Gratton <gus@projectgus.com> Reviewed-on: http://openocd.zylin.com/2551 Reviewed-by: Paul Fertser <fercerpav@gmail.com> Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
35 lines
1.0 KiB
Tcl
35 lines
1.0 KiB
Tcl
# ARM Debug Interface V5 (ADI_V5) utility
|
|
# ... Mostly for SWJ-DP (not SW-DP or JTAG-DP, since
|
|
# SW-DP and JTAG-DP targets don't need to switch based
|
|
# on which transport is active.
|
|
#
|
|
# declare a JTAG or SWD Debug Access Point (DAP)
|
|
# based on the transport in use with this session.
|
|
# You can't access JTAG ops when SWD is active, etc.
|
|
|
|
# params are currently what "jtag newtap" uses
|
|
# because OpenOCD internals are still strongly biased
|
|
# to JTAG .... but for SWD, "irlen" etc are ignored,
|
|
# and the internals work differently
|
|
|
|
# for now, ignore non-JTAG and non-SWD transports
|
|
# (e.g. initial flash programming via SPI or UART)
|
|
|
|
# split out "chip" and "tag" so we can someday handle
|
|
# them more uniformly irlen too...)
|
|
|
|
if [catch {transport select}] {
|
|
echo "Error: unable to select a session transport. Can't continue."
|
|
shutdown
|
|
}
|
|
|
|
proc swj_newdap {chip tag args} {
|
|
if [using_hla] {
|
|
eval hla newtap $chip $tag $args
|
|
} elseif [using_jtag] {
|
|
eval jtag newtap $chip $tag $args
|
|
} elseif [using_swd] {
|
|
eval swd newdap $chip $tag $args
|
|
}
|
|
}
|