From 82c77b22605d691884be4c4e1e6bae8d66598d02 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sun, 10 Aug 2025 21:37:15 +0300 Subject: make tests actually useful + Apparently quite a few components are currently broken, didn't even remember --- scripts/gen-rv64-fw | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100755 scripts/gen-rv64-fw (limited to 'scripts/gen-rv64-fw') diff --git a/scripts/gen-rv64-fw b/scripts/gen-rv64-fw new file mode 100755 index 0000000..831071d --- /dev/null +++ b/scripts/gen-rv64-fw @@ -0,0 +1,23 @@ +#!/bin/sh + +BUILD=build +NAME= + +while getopts "d:o:" opt; do + case "$opt" in + d) BUILD="$OPTARG";; + o) NAME="$OPTARG";; + *) echo "unrecognised option -$OPTARG" >&2; exit 1; + esac +done + +shift $((OPTIND - 1)) + +# might try to figure out how to support llvm as well in tests, but good enough +# for now +riscv64-unknown-elf-gcc -O2 -Wall -Wextra -ffreestanding -nostdlib \ + -march=rv64i -mabi=lp64 -fno-delete-null-pointer-checks \ + -o "${BUILD}/${NAME}.elf" "${@}" + +riscv64-unknown-elf-objcopy -Obinary "${BUILD}/${NAME}.elf" "${BUILD}/${NAME}.bin" +xxd -i "${BUILD}/${NAME}.bin" > "${BUILD}/${NAME}" -- cgit v1.3