aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorAurélien Martin <martaurel@gmail.com>2019-07-22 23:13:29 +0200
committerTomas Vanek <vanekt@fbl.cz>2020-04-21 16:40:35 +0100
commit3c8aa12859e909b4d14162bd7578bf84571bac20 (patch)
tree78c37720cf53ccfca60438164304de75c6a69ab3 /contrib
parent65d8fdf0d1e7aa931dd70cb2b0784473fe7834e1 (diff)
downloadriscv-openocd-3c8aa12859e909b4d14162bd7578bf84571bac20.zip
riscv-openocd-3c8aa12859e909b4d14162bd7578bf84571bac20.tar.gz
riscv-openocd-3c8aa12859e909b4d14162bd7578bf84571bac20.tar.bz2
nrf5: Refresh the watchdog while flashing
If watchdog is enabled, there's no way we can disable it while the flashing firmware is running. (Halt disables it, but software reset doesn't.) So let's have the flashing firmware refresh the watchdog regularly, in case it has been enabled by previously running software. Failure to do so could lead to a watchdog reset in the middle of the chip bieng programmed. Change-Id: I79d41593948aae0080480e891552e1c2ee3ccbd0 Signed-off-by: Aurélien Martin <martaurel@gmail.com> Reviewed-on: http://openocd.zylin.com/5266 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Diffstat (limited to 'contrib')
-rw-r--r--contrib/loaders/flash/nrf5/nrf5.S3
-rw-r--r--contrib/loaders/flash/nrf5/nrf5.inc5
2 files changed, 6 insertions, 2 deletions
diff --git a/contrib/loaders/flash/nrf5/nrf5.S b/contrib/loaders/flash/nrf5/nrf5.S
index b148e3c..6f7ed9a 100644
--- a/contrib/loaders/flash/nrf5/nrf5.S
+++ b/contrib/loaders/flash/nrf5/nrf5.S
@@ -27,12 +27,15 @@
* r1 = buffer start
* r2 = buffer end
* r3 = target address
+ * r6 = watchdog refresh value
+ * r7 = watchdog refresh register address
*/
.thumb_func
.global _start
_start:
wait_fifo:
+ str r6, [r7, #0]
ldr r5, [r1, #0]
cmp r5, #0
beq.n exit
diff --git a/contrib/loaders/flash/nrf5/nrf5.inc b/contrib/loaders/flash/nrf5/nrf5.inc
index a9b185c..2b35b5d 100644
--- a/contrib/loaders/flash/nrf5/nrf5.inc
+++ b/contrib/loaders/flash/nrf5/nrf5.inc
@@ -1,3 +1,4 @@
/* Autogenerated with ../../../../src/helper/bin2char.sh */
-0x0d,0x68,0x00,0x2d,0x0b,0xd0,0x4c,0x68,0xac,0x42,0xf9,0xd0,0x20,0xcc,0x20,0xc3,
-0x94,0x42,0x01,0xd3,0x0c,0x46,0x08,0x34,0x4c,0x60,0x04,0x38,0xf0,0xd1,0x00,0xbe,
+0x3e,0x60,0x0d,0x68,0x00,0x2d,0x0b,0xd0,0x4c,0x68,0xac,0x42,0xf8,0xd0,0x20,0xcc,
+0x20,0xc3,0x94,0x42,0x01,0xd3,0x0c,0x46,0x08,0x34,0x4c,0x60,0x04,0x38,0xef,0xd1,
+0x00,0xbe,