Bronzebeard is a Python RV32i assembler building bare-metal bootable code for GD32V (Longan Nano and Wio Lite) https://github.com/theandrew168/bronzebeard Example of usage: * A Mandebrot ensemble: https://github.com/enthusi/mandelbrot_riscv_assembler * Lz4 decoder https://github.com/enthusi/lz4_rv32i_decode Article describing settings everything for a DIY bare-metal booting with GNU Toolchain and OpenOCD https://vivonomicon.com/2020/02/11/bare-metal-risc-v-development-with-the-gd32vf103cb/ I wrote an article about Linux syscall and RISC-V assembly: https://popolon.org/gblog3/?p=1049 Hello World is an example of simple Hello World in RISC-V assembly on Linux. the .bash_history contains a quick and dirty backup of some commands used on the Qemu VM to assemble/link it (and compile TIC80) === RISC-V Vector extension 0.7.1 === * build_binutils_rvv-0.7.1.sh Fetch and compile binutils (including gnu as and ld) to assemble/link RISC-V Vextor extension v0.7.1 (RVV-0.1.7) as used on AllWnner D1 To compile your piece of assembly code (march is mandatory): /opt/rvv-0.7.1/bin/as -march=rv64gcv -o HelloWorld.o HelloWorld.s /opt/rvv-0.7.1/bin/ld -o HelloWorld HelloWorld.o