SiFive HiFive1
Overview
The HiFive1 is an Arduino-compatible development board with an FE310 RISC-V SoC. Two revisions of this board are supported in Zephyr: HiFive1 (also known as HiFive1 Rev A) and HiFive1 Rev B.
Programming and debugging
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
west build -b hifive1@B
Flashing
HiFive1
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
.
The HiFive 1 Rev B uses Segger J-Link OB for flashing and debugging. To flash and debug the board, you’ll need to install the Segger J-Link Software and Documentation Pack and choose version V6.46a or later (Downloads for Windows, Linux, and macOS are available).
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.