commit c776c23c85b5bbd867e836a040f2bc68286de744
parent 25f5e220d72d188063d4b49a951b3e5a94047412
Author: Matsuda Kenji <info@mtkn.jp>
Date: Mon, 20 Mar 2023 18:36:19 +0900
save registers in function
led blinks twice. something wrong
Diffstat:
M | main.s | | | 32 | +++++++++++++++++++------------- |
1 file changed, 19 insertions(+), 13 deletions(-)
diff --git a/main.s b/main.s
@@ -45,7 +45,7 @@ xosc_stable:
// set pll feedback divider
ldr r0, pll_sys_base
- mov r1, #0x14
+ mov r1, #0x4
lsl r1, r1, #4 // #320
str r1, [r0, #0x8] // PLL_FBDIV_INT
@@ -69,7 +69,7 @@ pll_lock:
lsl r1, r1, #4
add r1, r1, #1
lsl r1, r1, #12
-// str r1, [r0, #0xc] // PLL_PRIM
+ str r1, [r0, #0xc] // PLL_PRIM
// turn on post dividers
ldr r0, pll_sys_base
@@ -83,9 +83,15 @@ pll_lock:
mov r1, #1
str r1, [r0, #0x3c] // CLOCKS_CLK_SYS_CTRL
+ ldr r0, pll_sys_base
+ ldr r1, [r0, #0x4]
+ mov r2, #8
+ and r1, r2
+ beq p0
+
loop:
- mov r0, #1
- bl pr
+ //mov r0, #1
+ //bl pr
b loop
// functions
@@ -148,20 +154,20 @@ p1:
pop {pc}
led_blink:
- push {lr}
- ldr r1, sio_base
- mov r2, #0
- str r0, [r1, #0x10] // SIO_GPIO_OUT_SET
+ push {lr, r4}
+ ldr r4, sio_base
+ mov r5, r0
+ str r5, [r4, #0x10] // SIO_GPIO_OUT_SET
bl delay
- str r0, [r1, #0x18] // SIO_GPIO_OUT_CLR
+ str r5, [r4, #0x18] // SIO_GPIO_OUT_CLR
bl delay
- pop {pc}
+ pop {r4, pc}
delay:
- mov r2, #1
- lsl r2, r2, #20
+ mov r0, #1
+ lsl r0, r0, #20
del_loop:
- sub r2, r2, #1
+ sub r0, r0, #1
bne del_loop
bx lr