diff options
author | Jacques Comeaux <jacquesrcomeaux@protonmail.com> | 2024-06-04 19:28:25 -0500 |
---|---|---|
committer | Jacques Comeaux <jacquesrcomeaux@protonmail.com> | 2024-06-04 19:28:25 -0500 |
commit | f2f186c3594a922e51abf25b24052c61f833a2bf (patch) | |
tree | a4cd5bb88adc8b94582ed40a8a7ad04235a9db69 /octedit/uart.s | |
parent | b38a844ed9f6ad17d58db3e143ebc0c858762ec6 (diff) |
Rename stage 0 editor
Diffstat (limited to 'octedit/uart.s')
-rw-r--r-- | octedit/uart.s | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/octedit/uart.s b/octedit/uart.s new file mode 100644 index 0000000..e79cbdc --- /dev/null +++ b/octedit/uart.s @@ -0,0 +1,33 @@ +.syntax unified +.cpu cortex-m0plus +.thumb + +.equ UART0_BASE, 0x40034000 +.equ UARTDR_OFST, 0x00 +.equ UARTFR_OFST, 0x18 + +.type uart_send, %function +.global uart_send + +uart_send: + ldr r1, =UART0_BASE + movs r3, 0b1 << 5 // TX FIFO full +1: + ldr r2, [r1, UARTFR_OFST] + tst r2, r3 + bne 1b + strb r0, [r1, UARTDR_OFST] + bx lr + +.type uart_recv, %function +.global uart_recv + +uart_recv: + ldr r1, =UART0_BASE + movs r3, 0b1 << 4 // RX FIFO empty +1: + ldr r2, [r1, UARTFR_OFST] + tst r2, r3 + bne 1b + ldrb r0, [r1, UARTDR_OFST] + bx lr |