rp2040

RP2040 Programming without SDK
Log | Files | Refs

commit 00047d21cef637a2ada062b3399d49b97ef6316f
parent 47789e12a5a24eae09ee5a0978e09c1a5b7cf386
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Mon, 11 Aug 2025 12:53:00 +0900

add interrupt handler

Diffstat:
Mspi/main.s | 35+++++++++++++++++++++++++++++++----
1 file changed, 31 insertions(+), 4 deletions(-)

diff --git a/spi/main.s b/spi/main.s @@ -5,6 +5,30 @@ vectors: .word 0x20040000 // initial SP .word (reset+1) // entry point + .word 0xdeadbeef + .word 0xdeadbeef + + .word 0xdeadbeef + .word 0xdeadbeef + .word 0xdeadbeef + .word 0xdeadbeef + + .word 0xdeadbeef + .word 0xdeadbeef + .word 0xdeadbeef + .word 0xdeadbeef + + .word 0xdeadbeef + .word 0xdeadbeef + .word 0xdeadbeef + .word 0xdeadbeef + + .word 0xdeadbeef + .word 0xdeadbeef + .word 0xdeadbeef + .word 0xdeadbeef + + .word (uart_interrupt_handler+1) // UART0_IRQ .section .text reset: @@ -94,12 +118,9 @@ wait_vco: lsl r5, #8 mov r0, #1 lsl r0, #20 - str r0, [r4, r5] + str r0, [r4, r5] // M0PLUS: NVIC_ISER loop: - bl getbyte - #bl putbyte - bl printh b loop // functions @@ -210,6 +231,12 @@ delay_loop: pop {r0} bx lr +uart_interrupt_handler: + push {lr} + bl getbyte + bl putbyte + pop {pc} + .align 2 literals: .ltorg