picorv32-rt 0.5.3

Minimal runtime / startup for PicoRV32 RISC-V CPU
Documentation
#!/bin/bash

set -euxo pipefail

crate=picorv32-rt

# remove existing blobs because otherwise this will append object files to the old blobs
rm -f bin/*.a

for arch_features in ic i; do
	for cpu_features in RV32RT_BARE RV32RT_INTERRUPTS RV32RT_INTERRUPTS_QREGS; do
		riscv64-unknown-elf-gcc -c -mabi=ilp32 -march=rv32$arch_features -D$cpu_features asm.S -o bin/$crate.o
		ar crs bin/riscv32$arch_features-unknown-none-elf_$cpu_features.a bin/$crate.o
	done
done

# riscv64-unknown-elf-gcc -c -mabi=ilp32 -march=rv32i asm.S -o bin/$crate.o
# ar crs bin/riscv32i-unknown-none-elf.a bin/$crate.o

rm bin/$crate.o