AM335x: allow simultaneous debugging of A8 and M3 cores 13/3013/4
authorMatthias Welwarsky <matthias@welwarsky.de>
Tue, 13 Oct 2015 10:02:58 +0000 (12:02 +0200)
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>
Tue, 29 Dec 2015 21:16:54 +0000 (21:16 +0000)
This patch fixes the tap order so that it matches the actual jtag
chain when all taps are enabled. It also introduces a variable
DEFAULT_TAPS that can be set outside of this script, e.g. on the
command line, to specify which taps are to be enabled on init.
Lastly, a new debug target "am335x.m3" is added so that the Wakeup-M3
can be selected for debugging.

Change-Id: Iccf177fda8d5e3737b1b2bb8fd1eaa7d3262ed9f
Signed-off-by: Matthias Welwarsky <matthias@welwarsky.de>
Reviewed-on: http://openocd.zylin.com/3013
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
tcl/target/am335x.cfg

index e20c6f30f7a7a443bd2ddd48bce73c3dd522bac3..ce7cfb6d6802cad4cf0d7eee17c1e78eb8737320 100644 (file)
@@ -1,46 +1,73 @@
 source [find target/icepick.cfg]
 
 if { [info exists CHIPNAME] } {
-   set _CHIPNAME $CHIPNAME
+       set _CHIPNAME $CHIPNAME
 } else {
-   set _CHIPNAME am335x
+       set _CHIPNAME am335x
 }
 
-#
-# M3 DAP
-#
-if { [info exists M3_DAP_TAPID] } {
-       set _M3_DAP_TAPID $M3_DAP_TAPID
+# set the taps to be enabled by default. this can be overridden
+# by setting DEFAULT_TAPS in a separate configuration file
+# or directly on the command line.
+if { [info exists DEFAULT_TAPS] } {
+       set _DEFAULT_TAPS "$DEFAULT_TAPS"
 } else {
-       set _M3_DAP_TAPID 0x4b6b902f
+       set _DEFAULT_TAPS "$_CHIPNAME.dap"
 }
-jtag newtap $_CHIPNAME m3_dap -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_M3_DAP_TAPID -disable
-jtag configure $_CHIPNAME.m3_dap -event tap-enable "icepick_d_tapenable $_CHIPNAME.jrc 11 0"
 
 #
 # Main DAP
 #
 if { [info exists DAP_TAPID] } {
-   set _DAP_TAPID $DAP_TAPID
+       set _DAP_TAPID $DAP_TAPID
 } else {
-   set _DAP_TAPID 0x4b6b902f
+       set _DAP_TAPID 0x4b6b902f
 }
 jtag newtap $_CHIPNAME dap -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_DAP_TAPID -disable
 jtag configure $_CHIPNAME.dap -event tap-enable "icepick_d_tapenable $_CHIPNAME.jrc 12 0"
 
+#
+# M3 DAP
+#
+if { [info exists M3_DAP_TAPID] } {
+       set _M3_DAP_TAPID $M3_DAP_TAPID
+} else {
+       set _M3_DAP_TAPID 0x4b6b902f
+}
+jtag newtap $_CHIPNAME m3_dap -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_M3_DAP_TAPID -disable
+jtag configure $_CHIPNAME.m3_dap -event tap-enable "icepick_d_tapenable $_CHIPNAME.jrc 11 0"
+
 #
 # ICEpick-D (JTAG route controller)
 #
 if { [info exists JRC_TAPID] } {
-   set _JRC_TAPID $JRC_TAPID
+       set _JRC_TAPID $JRC_TAPID
 } else {
-   set _JRC_TAPID 0x0b94402f
+       set _JRC_TAPID 0x0b94402f
 }
 jtag newtap $_CHIPNAME jrc -irlen 6 -ircapture 0x1 -irmask 0x3f -expected-id $_JRC_TAPID -ignore-version
-jtag configure $_CHIPNAME.jrc -event setup "jtag tapenable $_CHIPNAME.dap"
+jtag configure $_CHIPNAME.jrc -event setup {
+       global _DEFAULT_TAPS
+       enable_default_taps $_DEFAULT_TAPS
+}
 # some TCK tycles are required to activate the DEBUG power domain
 jtag configure $_CHIPNAME.jrc -event post-reset "runtest 100"
 
+#
+# helper function that enables all taps passed as argument
+#
+proc enable_default_taps { taps } {
+       foreach tap $taps {
+               jtag tapenable $tap
+       }
+}
+
+#
+# Cortex M3 target
+#
+set _TARGETNAME_2 $_CHIPNAME.m3
+target create $_TARGETNAME_2 cortex_m -chain-position $_CHIPNAME.m3_dap
+
 #
 # Cortex A8 target
 #

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)