rp2040

RP2040 Programming without SDK
Log | Files | Refs

commit 2e170d8e95021914ef8aebceaac77369be3bcf0c
parent c3565a1440c02ce651b2777620a691f3c45f87ac
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Mon, 20 Mar 2023 09:52:23 +0900

check the reset status

Diffstat:
Mmain.s | 28+++++++++++++++++++++++-----
1 file changed, 23 insertions(+), 5 deletions(-)

diff --git a/main.s b/main.s @@ -9,7 +9,7 @@ main: bl unreset bl wait_unreset - // set gpio24 funct as sio + // set gpio22 and gpio24 funct as sio ldr r0, io_bank0_base mov r1, #5 add r0, r0, #0xb4 // io_bank0_gpio22_ctrl @@ -23,6 +23,24 @@ main: lsl r1, r1, #22 // gpio22 and gpio24 str r1, [r0, #0x24] + // check which systems are out of reset + ldr r0, resets_base + ldr r4, [r0, #0] // RESETS_RESET + mov r6, #24 +check_reset_loop: + mov r5, #1 + and r5, r4, r5 + beq out_of_reset + bl p1 + b in_reset +out_of_reset: + bl p0 +in_reset: + lsr r4, r4, #1 + sub r6, r6, #1 + bne check_reset_loop + + // enable xosc ldr r0, xosc_base mov r1, #0xf @@ -114,18 +132,18 @@ reset_chk: bx lr p0: - // blink led on gpio24 + // blink led on gpio22 push {lr} mov r0, #1 - lsl r0, r0, #24 + lsl r0, r0, #22 bl led_blink pop {pc} p1: - // blink led on gpio22 + // blink led on gpio24 push {lr} mov r0, #1 - lsl r0, r0, #22 + lsl r0, r0, #24 bl led_blink pop {pc}