Michael Welling edited this page Nov 28, 2017 · 24 revisions

LoFive Documentation

LoFive is a lightweight SiFive Freedom E310 open source SoC evaluation kit. The E310 leverages the Free and Open RISC-V Instruction Set Architecture originally developed by UC Berkeley and now has wide industry support via the RISC-V Foundation.

Table of Contents

Specifications

  • MCU – SiFive Freedom E310 (FE310) 32-bit RV32IMAC processor @ up to 320+ MHz (1.61 DMIPS/MHz)
  • Storage - 128-Mbit SPI flash (ISSI IS25LP128)
  • Expansion - 2x 14-pin headers with JTAG, GPIO, PWM, SPI, UART, 5V, 3.3V and GND
  • Misc - 1x reset button, 16 MHz crystal
  • Power Supply - 5V via pin 1 on header; Operating Voltage: 3.3 V and 1.8 V
  • Dimensions - 35.56 x 17.78 mm / 1.4 x 0.7 in
  • License - CERN Open Hardware Licence v1.2

Schematic

Installing LoFive Enabled Freedom-E SDK

The Freedom-E SDK port for LoFive hosted here: LoFive Freedom-E SDK

Note: The instructions for installing and compiling the SDK are provided in the README of the repository.

Configuring host for FT2232H-56Q FTDI UART breakout

In order to use the FTDI breakout from a non-root user a few steps are required to enable access.

First the udev rules need to be installed:

cd freedom-e-sdk
sudo cp openocd/contrib/60-openocd.rules /etc/udev/rules.d

Next add your user to the plugdev group:

sudo adduser $(whoami) plugdev

Next restart udev service and logout of the current session:

sudo service udev restart
exit

Now the open the SDK in a new console and you should be ready to use the FTDI programmer.

Programming using FT2232H-56Q FTDI UART breakout

Connecting FT2232H-56Q to LoFive

The on-board flash is programmed via JTAG and a special RISC-V version of OpenOCD built into the Freedom-E SDK. LoFive currently supports using the FT2232H-56Q Mini MDL FTDI breakout adapter.

Wire the breakout adapter as follows:

LoFive Pin FTDI Breakout Pin
+5Vin VBS
GND GND
TRSTN AD5
TCK AD0
TDO AD2
TMS AD3
TDI AD1
UART0.TX BD1
UART0.RX BD0

This will power the board and allow you to program with the LoFive enabled Freedom-E SDK linked above.

Programming LoFive using Freedom-E SDK

Once the SDK is installed and compiled you can load the code via make commands.

For instance to compile and load the LED fade demo:

make software PROGRAM=led_fade BOARD=freedom-e300-lofive
make upload PROGRAM=led_fade BOARD=freedom-e300-lofive

Note: This SDK only supports running on Linux.

Programming Bootloader using Freedom-E SDK

Some of the early units of the LoFive may have been deployed without the bootloader installed. If a previously loaded program does not load automatically on reset or power cycle the bootloader is likely not installed.

To program the bootloader to the LoFive run the following from the Freedom-E SDK:

make software upload PROGRAM=double_tap_dontboot BOARD=freedom-e300-lofive-blank
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.