rp2040

RP2040 Programming without SDK
Log | Files | Refs

commit c2ab15050d09a0c294a52461b49cffa9e1d6012d
parent 11470e33b0b0ac3b99f744929baaf120ba1e2641
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Thu, 16 Mar 2023 13:30:52 +0900

change reg names

Diffstat:
Mmain.s | 39++++++++++++++++++++++-----------------
1 file changed, 22 insertions(+), 17 deletions(-)

diff --git a/main.s b/main.s @@ -30,7 +30,9 @@ main: str r1, [r0, #0x10] // ROSC_DIV // reset gpio - ldr r0, reset_base + ldr r0, resets_base + ldr r1, atomic_clr + add r0, r0, r1 mov r2, #0x1 lsl r1, r2, #5 lsl r2, r2, #22 @@ -38,9 +40,9 @@ main: str r1, [r0, #0] // check if reset is done + ldr r0, resets_base reset_chk: - ldr r0, reset_done - ldr r2, [r0, #0] + ldr r2, [r0, #0x8] and r1, r1, r2 beq reset_chk @@ -51,10 +53,10 @@ reset_chk: str r1, [r0, #0] // enable output - ldr r0, gpio_oe_set + ldr r0, sio_base mov r1, #1 lsl r1, r1, #24 - str r1, [r0, #0] + str r1, [r0, #0x24] loop: bl led_blink @@ -62,15 +64,15 @@ loop: led_blink: push {lr} - ldr r0, gpio_out + ldr r0, sio_base mov r1, #1 lsl r1, r1, #24 mov r3, #0 // assert gpio24 - str r1, [r0, #0] + str r1, [r0, #0x10] bl delay // deassert gpio24 - str r3, [r0, #0] + str r3, [r0, #0x10] bl delay pop {pc} @@ -85,11 +87,17 @@ del_loop: .align 2 +atomic_set: + .word 0x00002000 + +atomic_clr: + .word 0x00003000 + clocks_base: .word 0x40008000 -reset_base: - .word 0x4000f000 +resets_base: + .word 0x4000c000 reset_done: .word 0x4000c008 @@ -97,14 +105,11 @@ reset_done: io_bank0_base: .word 0x40014000 -uart0_base: - .word 0x40034000 +xosc_base: + .word 0x40024000 rosc_base: .word 0x40060000 -gpio_out: - .word 0xd0000010 - -gpio_oe_set: - .word 0xd0000024 +sio_base: + .word 0xd0000000