The same thing but in C
include | ||
programs | ||
src | ||
.gitignore | ||
Makefile | ||
README.txt | ||
remake.sh |
RISC-V (rv32i) emulator in C This is just for me to understand how all this works, and to learn something new. So don't use it. Example programs: - return.bin: returns -1094647826 (puts it to register 10) To compile stuff: 0. Get the toolchain obviously 1. riscv32-unknown-elf-gcc -c -Oz program.c 2. riscv32-unknown-elf-objcopy -O binary program.o program.bin 3. program.bin is the binary file with the program, pass it as an argument rv32i, ilp32 compatible toolchain for 64bit Linux: https://lfs.m724.eu/toolchain.tar.zst adaa74f263dcba430da588b1109bc3b90bd90a84c67b06213bd03a7bbacd1a2a Or just the stuff necessary to make a binary file: https://lfs.m724.eu/toolchainlite.tar.zst 55e79dff7ba4093dedb8151461508fc157525ad89615d49d737845af03d1643f Those were compiled with `./configure --prefix=$(pwd)/../toolchain --with-arch=rv32i --with-abi=ilp32` and `make`