rp2040

RP2040 Programming without SDK
Log | Files | Refs

commit 11470e33b0b0ac3b99f744929baaf120ba1e2641
parent c5f46fadc685f4d0e266b174678c44067aa90dd3
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Thu, 16 Mar 2023 10:51:35 +0900

use faster clock
'TOOHIGH' didn't work

Diffstat:
Mmain.s | 36++++++++++++++++++++++++++++++------
1 file changed, 30 insertions(+), 6 deletions(-)

diff --git a/main.s b/main.s @@ -1,12 +1,33 @@ .section .text .global main main: - // enable clk_peri - ldr r0, clocks_base - add r0, r0, #0x48 - mov r1, #0x1 - lsl r1, r1, #11 - str r1, [r0, #0] + // enable rosc + ldr r0, rosc_base + mov r1, #0xfa + lsl r1, r1, #4 + add r1, r1, #0x7 + str r1, [r0, #0] // ROSC_CTRL + + // set rosc freqa and rosc freqb + mov r1, #0x96 + lsl r1, r1, #8 + add r1, r1, #0x96 + lsl r1, r1, #4 + add r1, r1, #0x7 + lsl r1, r1, #4 + add r1, r1, #0x7 + lsl r1, r1, #4 + add r1, r1, #0x7 + lsl r1, r1, #4 + add r1, r1, #0x7 + str r1, [r0, #0x4] // ROSC_FREQA + str r1, [r0, #0x8] // ROSC_FREQB + + // set rosc devider + mov r1, #0xaa + lsl r1, r1, #4 + add r1, r1, #0x1 + str r1, [r0, #0x10] // ROSC_DIV // reset gpio ldr r0, reset_base @@ -79,6 +100,9 @@ io_bank0_base: uart0_base: .word 0x40034000 +rosc_base: + .word 0x40060000 + gpio_out: .word 0xd0000010