commit 13c96d1181684dbb12fd6a76a5c4e921f0df0826
parent 6c99cffa61c6c955bd3767a19e3a9207c3981aa0
Author: Matsuda Kenji <info@mtkn.jp>
Date: Fri, 24 Mar 2023 09:49:28 +0900
rewrite push and pop in functions
uart pins are connected in a wrong way
Diffstat:
M | main.s | | | 26 | +++++++++----------------- |
1 file changed, 9 insertions(+), 17 deletions(-)
diff --git a/main.s b/main.s
@@ -140,35 +140,31 @@ reset_chk:
bx lr
uart0_write:
- push {lr}
- push {r4, r5, r6, r7}
+ push {r4, r5, r6, r7, lr}
mov r4, #0xFF
and r4, r4, r0
ldr r5, uart0_base
- mov r6, #32
+ mov r6, #32 // TXFF
uart0_txff:
+ bl p0
ldr r7, [r5, #0x18] // UART0_UARTFR
and r7, r7, r6
- bne uart0_txff
+ //bne uart0_txff
str r4, [r5, #0] // UART0_UARTDR
- pop {r4, r5, r6, r7}
- pop {pc}
+ pop {r4, r5, r6, r7, pc}
uart0_read:
- push {lr}
- push {r4, r5, r6}
+ push {r4, r5, r6, lr}
ldr r4, uart0_base
mov r5, #16
uart0_rxfe:
- bl p1
ldr r6, [r4, #0x18] // UART0_UARTFR
and r6, r6, r5
bne uart0_rxfe
ldr r0, [r4, #0] // UART0_UARTDR
mov r4, #0xFF
and r0, r0, r4
- pop {r4, r5, r6}
- pop {pc}
+ pop {r4, r5, r6, pc}
pr:
// print register
@@ -207,18 +203,14 @@ p1:
pop {pc}
led_blink:
- push {lr}
- push {r4, r5}
+ push {r4, r5, lr}
ldr r4, sio_base
mov r5, r0
- push {r5}
str r5, [r4, #0x10] // SIO_GPIO_OUT_SET
bl delay
- pop {r5}
str r5, [r4, #0x18] // SIO_GPIO_OUT_CLR
bl delay
- pop {r4, r5}
- pop {pc}
+ pop {r4, r5, pc}
delay:
mov r0, #1