Experiments of running Rust code on the Noel-V processor on an Arty-A7 FPGA board.
This repository currently contains the following components:
gatewarecontains instructions on how to download and flash a pre-built Noel-V design to the Arty-A7 board.firmwarecontains Rust code for the Noel-V processor. It contains the following components:grliblibrary which contains generic drivers for GRLIB components.noelvlibrary which contains Noel-V specific drivers and components.arty-a7application which contains various applications you can flasharty-a7-embassyapplication which contains example apps using the embassy framework.
To build and run Rust software on the Noel-V, you need the following tools.
- Rust installation for building the firmware
justcommand runner installation- grmon installation for flashing the firmware
- Optional: NCC installation or
gdb-multiarchif you want to do GDB debugging.
You need to prepare the Noel-V core first by flashing the corresponding FPGA design to the
board. The gateware README gives instructions on how to do this.
After you have prepared the board, you can simply use cargo run --release --bin arty_a7 inside
the firmware folder to flash an example application to the board. The project justfile and
.cargo/config.toml configure a runner which calls grmon and uses it to flash and run the Rust
application.