]> git.sur5r.net Git - openocd/commitdiff
nRF51822: Add workaround for PAN-16 where not all RAM blocks reliably enabled on...
authorAngus Gratton <gus@projectgus.com>
Tue, 1 Jul 2014 00:23:25 +0000 (10:23 +1000)
committerAndreas Fritiofson <andreas.fritiofson@gmail.com>
Mon, 11 Aug 2014 22:26:44 +0000 (22:26 +0000)
According to Nordic Semiconductor Product Anomaly Notice (document
NRF51822-PAN), item 16, some revisions of nRF51822 sometimes reset
without all RAM blocks enabled. This was noted on NRF51822-QFAA rev
CA/C0, only 8KiB of memory was accessible.

This patch turns on all RAM following a debugger induced reset
(matches specified behaviour.)

Change-Id: I4f8be4ec3d1271da7fe5bc9a084fdcb2968535bb
Signed-off-by: Angus Gratton <gus@projectgus.com>
Reviewed-on: http://openocd.zylin.com/2202
Tested-by: jenkins
Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
tcl/target/nrf51.cfg

index abb46fddaff974b91ed571dac84f48e24e4097b4..129060d356105dd32856eeb764901d4effdc0db8 100644 (file)
@@ -50,3 +50,11 @@ flash bank $_CHIPNAME.uicr nrf51 0x10001000 0 1 1 $_TARGETNAME
 #  clock to 1Mhz should be OK
 #
 adapter_khz 1000
+
+proc enable_all_ram {} {
+       # nRF51822 Product Anomaly Notice (PAN) #16 explains that not all RAM banks
+       # are reliably enabled after reset on some revisions (contrary to spec.) So after
+       # resetting we enable all banks via the RAMON register
+       mww 0x40000524 0xF
+}
+$_TARGETNAME configure -event reset-end {  enable_all_ram }