aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorUwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>2015-11-30 12:05:43 +0100
committerFreddie Chopin <freddie.chopin@gmail.com>2016-05-04 09:01:07 +0100
commitbfb02d5ba1238bb88cdf28863492cf1521ab2bab (patch)
tree7333ba477d2d35e556460ddfdb8546dde21c22d9 /contrib
parent888d5a5ec9f0e2178241c7fda99558d2e33a06a5 (diff)
downloadriscv-openocd-bfb02d5ba1238bb88cdf28863492cf1521ab2bab.zip
riscv-openocd-bfb02d5ba1238bb88cdf28863492cf1521ab2bab.tar.gz
riscv-openocd-bfb02d5ba1238bb88cdf28863492cf1521ab2bab.tar.bz2
stm32l4x.c: Free r6/7 for 64-bit operations.
Use r5 instead of r7. Change-Id: I350d00eeabe9446d64dba8f1dbffb5d4beab7dd6 Signed-off-by: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de> Reviewed-on: http://openocd.zylin.com/3138 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'contrib')
-rw-r--r--contrib/loaders/flash/stm32l4x.S18
1 files changed, 9 insertions, 9 deletions
diff --git a/contrib/loaders/flash/stm32l4x.S b/contrib/loaders/flash/stm32l4x.S
index f58e098..587cc33 100644
--- a/contrib/loaders/flash/stm32l4x.S
+++ b/contrib/loaders/flash/stm32l4x.S
@@ -51,8 +51,8 @@
* r4 = flash base
*
* Clobbered:
+ * r5 - rp
* r6 - temp
- * r7 - rp
* r8 - wp, tmp
*/
@@ -63,18 +63,18 @@ wait_fifo:
ldr r8, [r0, #0] /* read wp */
cmp r8, #0 /* abort if wp == 0 */
beq exit
- ldr r7, [r0, #4] /* read rp */
- subs r6, r8, r7 /* number of bytes available for read in r6*/
+ ldr r5, [r0, #4] /* read rp */
+ subs r6, r8, r5 /* number of bytes available for read in r6*/
cmp r6, #7 /* wait until 8 bytes are available */
bcc wait_fifo
ldr r6, STM32_PROG
str r6, [r4, #STM32_FLASH_CR_OFFSET]
- ldr r6, [r7], #0x04 /* read one word from src, increment ptr */
+ ldr r6, [r5], #0x04 /* read one word from src, increment ptr */
str r6, [r2], #0x04 /* write one word to dst, increment ptr */
- ldr r6, [r7], #0x04 /* read one word from src, increment ptr */
+ ldr r6, [r5], #0x04 /* read one word from src, increment ptr */
str r6, [r2], #0x04 /* write one word to dst, increment ptr */
- dsb
+ dsb
busy:
ldr r6, [r4, #STM32_FLASH_SR_OFFSET]
tst r6, #0x10000 /* BSY (bit16) == 1 => operation in progress */
@@ -82,10 +82,10 @@ busy:
tst r6, #0xfa /* PGSERR | PGPERR | PGAERR | WRPERR | PROGERR*/
bne error /* fail... */
- cmp r7, r1 /* wrap rp at end of buffer */
+ cmp r5, r1 /* wrap rp at end of buffer */
it cs
- addcs r7, r0, #8 /* skip loader args */
- str r7, [r0, #4] /* store rp */
+ addcs r5, r0, #8 /* skip loader args */
+ str r5, [r0, #4] /* store rp */
subs r3, r3, #1 /* decrement dword count */
cbz r3, exit /* loop if not done */
b wait_fifo