diff options
| author | taitep <taitep@taitep.se> | 2025-12-21 17:04:18 +0100 |
|---|---|---|
| committer | taitep <taitep@taitep.se> | 2025-12-21 17:04:18 +0100 |
| commit | 25dd685345b4bba7418eca4252e1b65ce20356cd (patch) | |
| tree | c7c16b686f5cda154cf8b7b4898a1cfdd38fb8fd | |
| parent | c05ba60c3c6ebe89a3db666c316929e0d0d2fdfa (diff) | |
Add a linker script and example uart echo program
| -rw-r--r-- | echo.S | 18 | ||||
| -rw-r--r-- | link.ld | 22 |
2 files changed, 40 insertions, 0 deletions
@@ -0,0 +1,18 @@ +.section .text +.globl _start + +.equ UART_DATA, 0 +.equ UART_STATUS, 1 +.equ UART_RX_READY = 0b10 +.equ UART_TX_READY = 0b01 + +_start: + li a0, 0x1000 + +loop: + lbu t0, UART_STATUS(a0) + andi t0, t0, UART_RX_READY + beqz t0, loop + lbu t0, UART_DATA(a0) + sb t0, UART_DATA(a0) + j loop @@ -0,0 +1,22 @@ +ENTRY(_start) + +SECTIONS { + . = 0x80000000; + + .text : ALIGN(4) { + *(.text*) + } + + .rodata : ALIGN(8) { + *(.rodata*) + } + + .data : ALIGN(8) { + *(.data*) + } + + .bss : ALIGN(8) { + *(.bss*) + *(COMMON) + } +} |
