1 # ARM Debug Interface V5 (ADI_V5) utility
2 # ... Mostly for SWJ-DP (not SW-DP or JTAG-DP, since
3 # SW-DP and JTAG-DP targets don't need to switch based
4 # on which transport is active.
6 # declare a JTAG or SWD Debug Access Point (DAP)
7 # based on the transport in use with this session.
8 # You can't access JTAG ops when SWD is active, etc.
10 # params are currently what "jtag newtap" uses
11 # because OpenOCD internals are still strongly biased
12 # to JTAG .... but for SWD, "irlen" etc are ignored,
13 # and the internals work differently
15 # for now, ignore non-JTAG and non-SWD transports
16 # (e.g. initial flash programming via SPI or UART)
18 # split out "chip" and "tag" so we can someday handle
19 # them more uniformly irlen too...)
21 if [catch {transport select
}] {
22 echo
"Error: unable to select a session transport. Can't continue."
26 proc swj_newdap
{chip tag args
} {
28 eval hla newtap
$chip $tag $args
29 } elseif
[using_jtag
] {
30 eval jtag newtap
$chip $tag $args
31 } elseif
[using_swd
] {
32 eval swd newdap
$chip $tag $args