Compiling the lowRISC software, full GCC, Linux and busybox was straightforward. You have to follow the documentation here very carefully. The only small problem I had was their environment variable script uses $TOP
which is also used by something else (bash? – not sure, anyway you just have to modify their script so it doesn’t use that name).
The above gets you enough to boot Linux on Spike, the RISC-V functional emulator. That’s not interesting to me, let’s see it running on my FPGA instead.
LowRISC again provide detailed instructions for compiling the FPGA which you have to follow carefully. I had to remove the -version
flags in a script, but otherwise it went fine.
It wasn’t clear to me what you’re supposed to do with the final bitstream (./lowrisc-chip-imp/lowrisc-chip-imp.runs/impl_1/chip_top.new.bit
) file, but in fact you use it in Vivado to program the device:
The simple hello world example was successful (output shown below is from /dev/ttyUSB1
connected to the dev board):