rp2040

RP2040 Programming without SDK
Log | Files | Refs

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:
Mmain.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