Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mc-cat-tty/riscv_experiments

Playing around with RISC-V assembly language.
https://github.com/mc-cat-tty/riscv_experiments

assembly gcc-complier gcc-cross-compiler qemu qemu-riscv riscv riscv-emulator riscv64

Last synced: about 2 months ago
JSON representation

Playing around with RISC-V assembly language.

Awesome Lists containing this project

README

        

## Setting up the environment

1. Get QEMU-riscv64: `pacman -S qemu-arch-extra`
2. Compile riscv-gnu-toolchain
1. ```bash
git clone https://github.com/riscv-collab/riscv-gnu-toolchain && cd riscv-gnu-toolchain
```
2. Install dependencies:
```bash
sudo pacman -Syyu autoconf automake curl python3 libmpc mpfr gmp gawk base-devel bison flex texinfo gperf libtool patchutils bc zlib expat
```
3. ```bash
./configure --prefix=/opt/riscv
```
4. ```bash
make && make linux
```
5. add `export PATH="/opt/riscv/bin/:$PATH"` to the file .zshrc or .bashrc

### Test your environment
To be sure your dev-env is ready try to compile _hello\_world.c_ and run it through qemu-riscv64:
```bash
riscv64-unknown-elf-gcc -static -Wall --pedantic hello_world.c
qemu-riscv64 a.out
```

For more details see: [https://saveriomiroddi.github.io/Quick-riscv-cross-compilation-and-emulation/](https://saveriomiroddi.github.io/Quick-riscv-cross-compilation-and-emulation/)

## Aliases
To set an handful of useful aliases run:
```bash
source configure_env
```

Now you can run `build filename.s`, `run exec.out` and `debug exec.out`.