HiFive1
Overview
The HiFive1 is an Arduino-compatible development board with an FE310-G000 RISC-V SoC.

SiFive HiFive1 board (image courtesy of SiFive)
Programming and debugging
The hifive1
board supports the runners and associated west commands listed below.
flash | debug | debugserver | rtt | attach | robot | simulate | |
---|---|---|---|---|---|---|---|
hifive1 | ✅ (default) | ||||||
openocd | ✅ | ✅ (default) | ✅ | ✅ | ✅ | ||
renode | ✅ | ||||||
renode-robot | ✅ |
Building
Applications for the HiFive1 board configuration can be built as usual (see Building an Application) using the corresponding board name:
west build -b hifive1
Flashing
In order to upload the application to the device, you’ll need OpenOCD with RISC-V support. Download the tarball for your OS from the SiFive website and extract it.
The Zephyr SDK uses a bundled version of OpenOCD by default. You can
overwrite that behavior by adding the
-DOPENOCD=<path/to/riscv-openocd/bin/openocd>
parameter when building:
west build -b hifive1 -- -DOPENOCD=<path/to/riscv-openocd/bin/openocd>
When using a custom toolchain it should be enough to have the downloaded
version of the binary in your PATH
.
Now you can flash the application as usual (see Building an Application and Run an Application for more details):
west flash
Depending on your OS you might have to run the flash command as superuser.
Debugging
Refer to the detailed overview about Application Debugging.