Skip to content

Board: HiFive1

Jose Alamos edited this page Aug 9, 2018 · 4 revisions

WARNING: This entry will be deprecated. All content has been moved to


The HiFive1 is a RISC-V based, open-source CPU, Arduino compatible development kit. This board features the Freedom 310 CPU from SiFive, the first commercially available RISC-V System on Chip.


HiFive1 Features & Specifications

  • Microcontroller: SiFive Freedom E310 (FE310)
    • SiFive E31 RISC-V Core
    • Architecture: 32-bit RV32IMAC
    • Speed: 320+ MHz
    • Performance: 1.61 DMIPs/MHz, 2.73 Coremark/MHz
    • Memory: 16 KB Instruction Cache, 16 KB Data Scratchpad
    • Other Features: Hardware Multiply/Divide, Debug Module, Flexible Clock Generation with on-chip oscillators and PLLs
  • Operating Voltage: 3.3 V and 1.8 V
  • Input Voltage: 5 V USB or 7-12 VDC Jack
  • IO Voltages: Both 3.3 V or 5 V supported
  • Digital I/O Pins: 19
  • PWM Pins: 9
  • SPI Controllers/HW CS Pins: 1/3
  • External Interrupt Pins: 19
  • External Wakeup Pins: 1
  • Flash Memory: 128 Mbit Off-Chip (ISSI SPI Flash)
  • Host Interface (microUSB): Program, Debug, and Serial Communication
  • Dimensions: 68 mm x 51 mm
  • Weight: 22 g

Where to Buy

HiFive1 Getting Started Guide

HiFive1 Schematics

Freedom FE310 Manual

Freedom FE310 Datasheet

Setup and Build instructions for HiFive1 RIOT Build on Windows

Flashing and Debugging RIOT with GNU MCU Eclipse IDE on Windows

On Windows, the command line option for flashing a RIOT image doesn't quite work because of issues with handling the path name to the ELF file. Instead, the Eclipse IDE with the GNU MCU extensions offers an alternative mechanism for downloading, flashing and debugging RIOT ELF files.

  • Install the GNU MCU Eclipse IDE:
  • Be sure to point to the RISC-V GCC and OpenOCD locations from the above setup steps as part of the Eclipse install
  • Add RIOT source tree to Freedom Studio via File->New->Makefile Project with Existing Code
  • Make project name RIOT and give path to \RIOT folder; select the RISC-V Cross GCC toolchain for the indexer
  • Under Run->Debug Configurations, duplicate one of the HiFive1 debugging configurations like led_fade Debug, name the config RIOT Debug
  • Edit the RIOT Debug configuration as follows
    • Main tab: set the project to RIOT and the C/C++ app to be the full path to the RIOT app .elf file (C:\RIOT\examples\default\bin\hifive1\default.elf) Select "Disable auto build" because builds of RIOT can only be done from the Mintty shell
    • Debugger tab: the OpenOCD Config option will need a full path to the HiFive1 cfg file (eg. -f C:\OpenOCD\scripts\board\sifive-hifive1.cfg)
    • Startup tab: For Load Symbols and Load Executable, set the Use file option and give the full path to the application .elf file. Set breakpoint at: _start (the entry point to the .elf file in start.S)
  • Apply the configuration, then press Debug. The .elf file will be flashed to the HiFive1 board and Eclipse will kick into the GDB debugger
  • To debug other RIOT applications, update the full paths to the app's .elf file in the RIOT Debug configuration
Clone this wiki locally
You can’t perform that action at this time.