Align loader to 32-bit boundary
[fw/stlink] / flashloaders / stm32f4.s
1 .global start
2 .syntax unified
3
4 @ r0 = source
5 @ r1 = target
6 @ r2 = wordcount
7 @ r3 = flash_base
8 @ r4 = temp
9
10 start:
11     ldr     r3, flash_base
12 next:
13     cbz     r2, done
14     ldr     r4, [r0]
15     str     r4, [r1]
16
17 wait:
18     ldrh    r4, [r3, #0x0e]
19     tst.w   r4, #1
20     bne     wait
21
22     add     r0, #4
23     add     r1, #4
24     sub     r2, #1
25     b       next
26 done:
27     bkpt
28
29 .align 2
30
31 flash_base:
32         .word 0x40023c00