aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurélien Martin <martaurel@gmail.com>2019-08-06 22:08:18 +0200
committerTomas Vanek <vanekt@fbl.cz>2020-04-21 16:45:04 +0100
commitec16e522bf6518f38e8923ed4f271bc9bb23c409 (patch)
treecfb039449ab44d18bb6d0f0a659940e078ed4484
parent3c8aa12859e909b4d14162bd7578bf84571bac20 (diff)
downloadriscv-openocd-ec16e522bf6518f38e8923ed4f271bc9bb23c409.zip
riscv-openocd-ec16e522bf6518f38e8923ed4f271bc9bb23c409.tar.gz
riscv-openocd-ec16e522bf6518f38e8923ed4f271bc9bb23c409.tar.bz2
nrf5: Comment the flash loader
Change-Id: Ia84b5b8ede53f59299a02dc6163d6bbaa31e0fbd Signed-off-by: Aurélien Martin <martaurel@gmail.com> Reviewed-on: http://openocd.zylin.com/5272 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
-rw-r--r--contrib/loaders/flash/nrf5/nrf5.S11
1 files changed, 11 insertions, 0 deletions
diff --git a/contrib/loaders/flash/nrf5/nrf5.S b/contrib/loaders/flash/nrf5/nrf5.S
index 6f7ed9a..53551a2 100644
--- a/contrib/loaders/flash/nrf5/nrf5.S
+++ b/contrib/loaders/flash/nrf5/nrf5.S
@@ -35,24 +35,35 @@
.global _start
_start:
wait_fifo:
+ // Kick the watchdog
str r6, [r7, #0]
+ // Load write pointer
ldr r5, [r1, #0]
+ // Abort if it is NULL
cmp r5, #0
beq.n exit
+ // Load read pointer
ldr r4, [r1, #4]
+ // Continue waiting if it equals the write pointer
cmp r4, r5
beq.n wait_fifo
+ // Copy one word from buffer to target, and increment pointers
ldmia r4!, {r5}
stmia r3!, {r5}
+ // If at end of buffer, wrap back to buffer start
cmp r4, r2
bcc.n no_wrap
mov r4, r1
adds r4, #8
no_wrap:
+ // Update read pointer inside the buffer
str r4, [r1, #4]
+ // Deduce the word transferred from the byte count
subs r0, #4
+ // Start again
bne.n wait_fifo
exit:
+ // Wait for OpenOCD
bkpt #0x00
.pool