em357: Corrected EM357 support including errata details 81/2581/3
authorEd Beroset <beroset@ieee.org>
Fri, 6 Mar 2015 01:43:09 +0000 (20:43 -0500)
committerPaul Fertser <fercerpav@gmail.com>
Tue, 14 Apr 2015 10:48:50 +0000 (11:48 +0100)
Original submitted code had only been tested with em358, but testing with
actual em357 revealed errors that this patch corrects.

Change-Id: I70cf31210de8ed84e3755a56e76261ad200322bb
Signed-off-by: Ed Beroset <beroset@ieee.org>
Reviewed-on: http://openocd.zylin.com/2581
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
tcl/target/em357.cfg
tcl/target/em358.cfg

index f44b2985aa6a745447aee8c9d278242d3ecd9ac6..24ffb04f92378db7333182489a71f638875cf353 100644 (file)
@@ -34,7 +34,7 @@ if { [info exists CPUTAPID] } {
 if { [info exists BSTAPID] } {
    set _BSTAPID $BSTAPID
 } else {
-  set _BSTAPID 0x069aa62b
+  set _BSTAPID 0x069a962b
 }
 
 if { [info exists CHIPNAME] } {
@@ -63,5 +63,14 @@ set _FLASHNAME $_CHIPNAME.flash
 flash bank $_FLASHNAME em357 0x08000000 $_FLASHSIZE 0 0 $_TARGETNAME
 
 if { ![using_hla]} {
-    cortex_m reset_config sysresetreq
+# according to errata, we need to use vectreset rather than sysresetreq to avoid lockup
+# There is a bug in the chip, which means that when using external debuggers the chip
+# may lock up in certain CPU clock modes. Affected modes are operating the CPU at
+# 24MHz derived from the 24MHz crystal, or 12MHz derived from the high frequency RC
+# oscillator. If an external debugger tool asserts SYSRESETREQ, the chip will lock up and
+# require a pin reset or power cycle.
+#
+# for details, refer to:
+# http://www.silabs.com/Support%20Documents/TechnicalDocs/EM35x-Errata.pdf
+    cortex_m reset_config vectreset
 }
index c2d48bf6fbea0e7c6ca82e5ce5ec6a7f8d96a838..92e65a4c78afec624c49441fa444bb4f09b368c4 100644 (file)
@@ -1,4 +1,3 @@
-#
 # Target configuration for the Silicon Labs EM358 chips
 
 #
@@ -9,6 +8,10 @@ if { ![info exists CHIPNAME] } {
    set CHIPNAME em358
 }
 
+if { ![info exists BSTAPID] } {
+  set BSTAPID 0x069aa62b
+}
+
 # 512K of flash in the em358 chips
 set FLASHSIZE 0x80000
 source [find target/em357.cfg]

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)