Ariane
Ariane is a 6-stage RISC-V CPU. For details, refer to https://github.com/pulp-platform/ariane
Building the GCC toolchain
-
It is recommended to build the toolchain from source.
git clone https://github.com/riscv/riscv-gnu-toolchain.git cd riscv-gnu-toolchain git submodule update --init --recursive export RISCV=/opt/riscv ./configure --prefix="${RISCV}" --enable-multilib make linux
After it is built, add the
$RISCV/bin
folder to your PATH. The built toolchain works for both 32-bit and 64-bit. -
Alternatively, any pre-built toolchain with multilib enabled should work.
Building seL4test
Checkout the sel4test project using repo as per seL4Test
repo init -u https://github.com/seL4/sel4test-manifest.git
repo sync
mkdir cbuild
cd cbuild
../init-build.sh -DPLATFORM=ariane -DRISCV64=1
# The default cmake wrapper sets up a default configuration for the target platform.
# To change individual settings, run `ccmake` and change the configuration
# parameters to suit your needs.
ninja
Generated binaries can be found in the images/
directory.
Running seL4test
Ariane only provides support for the Genesys 2 board
-
Compile the bitstream from source or download the pre-build bitstream from here.
- Prepare the SD card
sudo sgdisk --clear --new=1:2048:67583 --new=2 --typecode=1:3000 --typecode=2:8300 /dev/sdX sudo dd if=images/sel4test-driver-image-riscv-ariane of=/dev/sdX1
Note that the “sgdisk” command above also creates a second partition for Linux rootfs, you could download a pre-build Linux kernel from here to verify that the FPGA is working correctly.
- Booting from the SD card and observing the output from the UART port.