tcl/target: consolidate Kinetis configs 60/2460/2
authorPaul Fertser <fercerpav@gmail.com>
Sat, 10 Jan 2015 10:52:35 +0000 (13:52 +0300)
committerSpencer Oliver <spen@spen-soft.co.uk>
Mon, 26 Jan 2015 20:57:41 +0000 (20:57 +0000)
Change-Id: I75fe6b239ff435f700459e7d7040616503fa458e
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2460
Reviewed-by: Andreas Färber <afaerber@suse.de>
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
tcl/target/k40.cfg
tcl/target/k60.cfg
tcl/target/kl25.cfg
tcl/target/kl46.cfg
tcl/target/klx.cfg [new file with mode: 0644]
tcl/target/kx.cfg [new file with mode: 0644]

index b0f699401cb6bdc76c6be063e320093140e3d144..981161156b3becb5bd917ebb70b2ff1ffdccd0ca 100644 (file)
@@ -2,39 +2,5 @@
 # Freescale Kinetis K40 devices
 #
 
 # Freescale Kinetis K40 devices
 #
 
-#
-# K40 devices support both JTAG and SWD transports.
-#
-source [find target/swj-dp.tcl]
-
-if { [info exists CHIPNAME] } {
-    set _CHIPNAME $CHIPNAME
-} else {
-    set _CHIPNAME k40
-}
-
-if { [info exists ENDIAN] } {
-    set _ENDIAN $ENDIAN
-} else {
-    set _ENDIAN little
-}
-
-if { [info exists CPUTAPID] } {
-    set _CPUTAPID $CPUTAPID
-} else {
-    set _CPUTAPID 0x4ba00477
-}
-
-set _TARGETNAME $_CHIPNAME.cpu
-
-swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-
-target create $_TARGETNAME cortex_m -chain-position $_CHIPNAME.cpu
-
-reset_config srst_nogate
-
-if {![using_hla]} {
-   # if srst is not fitted use SYSRESETREQ to
-   # perform a soft reset
-   cortex_m reset_config sysresetreq
-}
+set CHIPNAME k40
+source [find target/kx.cfg]
index 0e7adc4a5f4488e9c60f1cb0c3e4feeb0423dde8..b9c5e3a1e65adfadaeb962e7ed94dee7837485ea 100644 (file)
@@ -2,39 +2,5 @@
 # Freescale Kinetis K60 devices
 #
 
 # Freescale Kinetis K60 devices
 #
 
-#
-# K60 devices support both JTAG and SWD transports.
-#
-source [find target/swj-dp.tcl]
-
-if { [info exists CHIPNAME] } {
-    set _CHIPNAME $CHIPNAME
-} else {
-    set _CHIPNAME k60
-}
-
-if { [info exists ENDIAN] } {
-    set _ENDIAN $ENDIAN
-} else {
-    set _ENDIAN little
-}
-
-if { [info exists CPUTAPID] } {
-    set _CPUTAPID $CPUTAPID
-} else {
-    set _CPUTAPID 0x4ba00477
-}
-
-set _TARGETNAME $_CHIPNAME.cpu
-
-swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
-
-target create $_TARGETNAME cortex_m -chain-position $_CHIPNAME.cpu
-
-reset_config srst_nogate
-
-if {![using_hla]} {
-   # if srst is not fitted use SYSRESETREQ to
-   # perform a soft reset
-   cortex_m reset_config sysresetreq
-}
+set CHIPNAME k60
+source [find target/kx.cfg]
index b75e0a565d776f0c9c4aa1f6f17f60e110a8f797..0e716e3ae2b243fd197538e4f7295a8a5cb43fce 100644 (file)
@@ -2,70 +2,5 @@
 # Freescale Kinetis KL25 devices
 #
 
 # Freescale Kinetis KL25 devices
 #
 
-#
-# KL25 devices support both JTAG and SWD transports.
-#
-source [find target/swj-dp.tcl]
-
-if { [info exists CHIPNAME] } {
-    set _CHIPNAME $CHIPNAME
-} else {
-    set _CHIPNAME kl25
-}
-
-if { [info exists ENDIAN] } {
-    set _ENDIAN $ENDIAN
-} else {
-    set _ENDIAN little
-}
-
-# Work-area is a space in RAM used for flash programming
-# By default use 4kB
-if { [info exists WORKAREASIZE] } {
-   set _WORKAREASIZE $WORKAREASIZE
-} else {
-   set _WORKAREASIZE 0x1000
-}
-
-if { [info exists CPUTAPID] } {
-    set _CPUTAPID $CPUTAPID
-} else {
-    set _CPUTAPID 0x0bc11477
-}
-
-swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUTAPID
-
-set _TARGETNAME $_CHIPNAME.cpu
-target create $_TARGETNAME cortex_m -endian $_ENDIAN -chain-position $_CHIPNAME.cpu
-
-# It is important that "kinetis mdm check_security" is called for
-# 'examine-end' event and not 'eximine-start'. Calling it in 'examine-start'
-# causes "kinetis mdm check_security" to fail the first time openocd
-# calls it when it tries to connect after the CPU has been power-cycled.
-$_CHIPNAME.cpu configure -event examine-end {
-       kinetis mdm check_security
-}
-
-$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
-
-set _FLASHNAME $_CHIPNAME.flash
-flash bank $_FLASHNAME kinetis 0 0 0 0 $_TARGETNAME
-
-# Table 5-1. Clock Summary of KL25 Sub-Family Reference Manual
-# specifies up to 1MHz for VLPR mode.
-adapter_khz 1000
-
-reset_config srst_nogate
-
-if {![using_hla]} {
-   # if srst is not fitted use SYSRESETREQ to
-   # perform a soft reset
-   cortex_m reset_config sysresetreq
-}
-
-$_TARGETNAME configure -event reset-init {
-    # Table 5-1. Clock Summary of KL25 Sub-Family Reference Manual
-    # specifies up to 24MHz for run mode; Table 17 of Sub-Family Data
-    # Sheet rev4 lists 25MHz as the maximum frequency.
-    adapter_khz 24000
-}
+set CHIPNAME kl25
+source [find target/klx.cfg]
index 074f26aac8465e278f05e3a98111a12139a64b91..70ea273ee3a0f6507c2037a467cfb4650eabf469 100644 (file)
@@ -2,49 +2,5 @@
 # Freescale Kinetis KL46 devices
 #
 
 # Freescale Kinetis KL46 devices
 #
 
-#
-# KL46 devices supports SWD transport only.
-#
-source [find target/swj-dp.tcl]
-
-if { [info exists CHIPNAME] } {
-    set _CHIPNAME $CHIPNAME
-} else {
-    set _CHIPNAME kl46
-}
-
-if { [info exists ENDIAN] } {
-    set _ENDIAN $ENDIAN
-} else {
-    set _ENDIAN little
-}
-
-# Work-area is a space in RAM used for flash programming
-# By default use 4kB
-if { [info exists WORKAREASIZE] } {
-   set _WORKAREASIZE $WORKAREASIZE
-} else {
-   set _WORKAREASIZE 0x1000
-}
-
-if { [info exists CPUTAPID] } {
-    set _CPUTAPID $CPUTAPID
-} else {
-    set _CPUTAPID 0x0bc11477
-}
-
-swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUTAPID
-
-set _TARGETNAME $_CHIPNAME.cpu
-target create $_TARGETNAME cortex_m -endian $_ENDIAN -chain-position $_CHIPNAME.cpu
-
-$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
-
-set _FLASHNAME $_CHIPNAME.flash
-flash bank $_FLASHNAME kinetis 0 0 0 0 $_TARGETNAME
-
-if {![using_hla]} {
-   # if srst is not fitted use SYSRESETREQ to
-   # perform a soft reset
-   cortex_m reset_config sysresetreq
-}
+set CHIPNAME kl46
+source [find target/klx.cfg]
diff --git a/tcl/target/klx.cfg b/tcl/target/klx.cfg
new file mode 100644 (file)
index 0000000..d2d2c28
--- /dev/null
@@ -0,0 +1,62 @@
+#
+# Freescale Kinetis KL series devices
+#
+
+source [find target/swj-dp.tcl]
+
+if { [info exists CHIPNAME] } {
+    set _CHIPNAME $CHIPNAME
+} else {
+    set _CHIPNAME klx
+}
+
+# Work-area is a space in RAM used for flash programming
+# By default use 4kB
+if { [info exists WORKAREASIZE] } {
+   set _WORKAREASIZE $WORKAREASIZE
+} else {
+   set _WORKAREASIZE 0x1000
+}
+
+if { [info exists CPUTAPID] } {
+    set _CPUTAPID $CPUTAPID
+} else {
+    set _CPUTAPID 0x0bc11477
+}
+
+swj_newdap $_CHIPNAME cpu -irlen 4 -expected-id $_CPUTAPID
+
+set _TARGETNAME $_CHIPNAME.cpu
+target create $_TARGETNAME cortex_m -chain-position $_CHIPNAME.cpu
+
+# It is important that "kinetis mdm check_security" is called for
+# 'examine-end' event and not 'eximine-start'. Calling it in 'examine-start'
+# causes "kinetis mdm check_security" to fail the first time openocd
+# calls it when it tries to connect after the CPU has been power-cycled.
+$_CHIPNAME.cpu configure -event examine-end {
+       kinetis mdm check_security
+}
+
+$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0
+
+set _FLASHNAME $_CHIPNAME.flash
+flash bank $_FLASHNAME kinetis 0 0 0 0 $_TARGETNAME
+
+# Table 5-1. Clock Summary of KL25 Sub-Family Reference Manual
+# specifies up to 1MHz for VLPR mode.
+adapter_khz 1000
+
+reset_config srst_nogate
+
+if {![using_hla]} {
+   # if srst is not fitted use SYSRESETREQ to
+   # perform a soft reset
+   cortex_m reset_config sysresetreq
+}
+
+$_TARGETNAME configure -event reset-init {
+    # Table 5-1. Clock Summary of KL25 Sub-Family Reference Manual
+    # specifies up to 24MHz for run mode; Table 17 of Sub-Family Data
+    # Sheet rev4 lists 25MHz as the maximum frequency.
+    adapter_khz 24000
+}
diff --git a/tcl/target/kx.cfg b/tcl/target/kx.cfg
new file mode 100644 (file)
index 0000000..93b2b58
--- /dev/null
@@ -0,0 +1,41 @@
+#
+# Freescale Kinetis Kx series devices
+#
+
+source [find target/swj-dp.tcl]
+
+if { [info exists CHIPNAME] } {
+    set _CHIPNAME $CHIPNAME
+} else {
+    set _CHIPNAME kx
+}
+
+if { [info exists ENDIAN] } {
+    set _ENDIAN $ENDIAN
+} else {
+    set _ENDIAN little
+}
+
+if { [info exists CPUTAPID] } {
+    set _CPUTAPID $CPUTAPID
+} else {
+   if { [using_jtag] } {
+      set _CPUTAPID 0x4ba00477
+   } {
+      set _CPUTAPID 0x2ba01477
+   }
+}
+
+set _TARGETNAME $_CHIPNAME.cpu
+
+swj_newdap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID
+
+target create $_TARGETNAME cortex_m -chain-position $_CHIPNAME.cpu
+
+reset_config srst_nogate
+
+if {![using_hla]} {
+   # if srst is not fitted use SYSRESETREQ to
+   # perform a soft reset
+   cortex_m reset_config sysresetreq
+}

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)