Auto-select JTAG transport when appropriate 79/2179/2
authorPaul Fertser <fercerpav@gmail.com>
Thu, 19 Jun 2014 10:21:21 +0000 (14:21 +0400)
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>
Sat, 28 Jun 2014 09:35:38 +0000 (09:35 +0000)
I looked through all the target configs after stripping comments and
such from them with sed to see what jtag-specific commands can appear
first, and it looks like all the meaningful combinations should be
covered.

Change-Id: I8d543407b7f4ac8aca7354ecd50e841c8a04d5f3
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2179
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
src/jtag/startup.tcl
tcl/target/swj-dp.tcl

index 94590e13389807fa98d8867fe3825b320c2b9056..6f9c000d84a4164d2b433b2b4df80db11225577e 100644 (file)
@@ -87,6 +87,32 @@ proc measure_clk {} {
 
 add_help_text measure_clk "Runs a test to measure the JTAG clk. Useful with RCLK / RTCK."
 
 
 add_help_text measure_clk "Runs a test to measure the JTAG clk. Useful with RCLK / RTCK."
 
+proc default_to_jtag { f args } {
+       if [catch {transport select} current_transport] {
+               echo "Info : session transport was not selected, defaulting to JTAG"
+               transport select 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.
 # 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.
index bd348e6611a4b6e178e110b312079f1e29288ecc..2fa82ed376ced88c93e88d0ef40d4318342a0945 100644 (file)
 # split out "chip" and "tag" so we can someday handle
 # them more uniformly irlen too...)
 
 # split out "chip" and "tag" so we can someday handle
 # them more uniformly irlen too...)
 
+if [catch {transport select}] {
+ echo "Info : session transport was not selected, defaulting to JTAG"
+ transport select jtag
+}
+
 proc swj_newdap {chip tag args} {
  if {[using_jtag]} { eval jtag newtap $chip $tag $args }
  if {[using_swd]} { eval swd newdap $chip $tag $args }
 proc swj_newdap {chip tag args} {
  if {[using_jtag]} { eval jtag newtap $chip $tag $args }
  if {[using_swd]} { eval swd newdap $chip $tag $args }

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)