diff options
author | Aurélien Martin <martaurel@gmail.com> | 2019-08-06 22:08:18 +0200 |
---|---|---|
committer | Tomas Vanek <vanekt@fbl.cz> | 2020-04-21 16:45:04 +0100 |
commit | ec16e522bf6518f38e8923ed4f271bc9bb23c409 (patch) | |
tree | cfb039449ab44d18bb6d0f0a659940e078ed4484 | |
parent | 3c8aa12859e909b4d14162bd7578bf84571bac20 (diff) | |
download | riscv-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.S | 11 |
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 |