# SiFive

Configuration

  platform = `sifive`

SiFive brings the power of open source and software automation to the semiconductor industry, making it possible to develop new hardware faster and more affordably than ever before.

For more detailed information please visit vendor site.

Contents

- Examples

- Debugging

- Stable and upstream versions

- Packages

- Frameworks

- Boards

## Examples

Examples are listed from SiFive development platform repository:

- zephyr-blink

- native-blink_asm

- freedom-e-sdk_hello

- freedom-e-sdk_test-coreip

- freedom-e-sdk_sifive-welcome

- freedom-e-sdk_timer-interrupt

- freedom-e-sdk_multicore-hello

- freedom-e-sdk_user-syscall

- freedom-e-sdk_spi

- freedom-e-sdk_user-mode

- zephyr-synchronization

- zephyr-hello-world

## Debugging

PIO Unified Debugger - “1-click” solution for debugging with a zero configuration.

- Tools & Debug Probes

  - On-Board Debug Tools

### Tools & Debug Probes

Supported debugging tools are listed in “Debug” column. For more detailed information, please scroll table by horizontal. You can switch between debugging Tools & Debug Probes using debug_tool option in “platformio.ini” (Project Configuration File).

Warning

You will need to install debug tool drivers depending on your system. Please click on compatible debug tool below for the further instructions.

#### On-Board Debug Tools

Boards listed below have on-board debug probe and ARE READY for debugging! You do not need to use/buy external debug probe.

Name | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | ---
Arty FPGA Dev Kit | FE310 | 450MHz | 16MB | 256MB
HiFive Unleashed | FU540 | 1500MHz | 32MB | 8GB
HiFive1 | FE310 | 320MHz | 16MB | 16KB
HiFive1 Rev B | FE310 | 320MHz | 16MB | 16KB
SparkFun RED-V RedBoard | FE310 | 320MHz | 16MB | 16KB
SparkFun RED-V Thing Plus | FE310 | 320MHz | 16MB | 16KB

## Stable and upstream versions

You can switch between stable releases of SiFive development platform and the latest upstream version using platform option in “platformio.ini” (Project Configuration File) as described below.

### Stable

    ; Latest stable version
    [env:latest_stable]
    platform = sifive
    board = ...

    ; Custom stable version
    [env:custom_stable]
    platform = sifive@x.y.z
    board = ...

### Upstream

    [env:upstream_develop]
    platform = https://github.com/platformio/platform-sifive.git
    board = ...

## Packages

Name | Description
--- | ---
framework-freedom-e-sdk | Open Source Software for Developing on the SiFive Freedom E Platform
framework-zephyr | Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
framework-zephyr-canopennode | Zephyr module for CANopenNode - a free and open source CANopen Stack
framework-zephyr-civetweb | Zephyr module CivetWeb Embedded C/C++ web server
framework-zephyr-fatfs | Zephyr module for FATFS filesystem
framework-zephyr-libmetal | Zephyr module for HAL abstraction layer used by open-amp
framework-zephyr-littlefs | Zephyr module for littlefs filesystem
framework-zephyr-loramac-node | Zephyr module for LoRaWAN endpoint stack implementation
framework-zephyr-lvgl | Zephyr module for LittlevGL - an Open-source Embedded GUI Library
framework-zephyr-mbedtls | mbedTLS module for Zephyr
framework-zephyr-mcuboot | Zephyr module for MCUboot - a secure bootloader for 32-bit MCUs
framework-zephyr-mcumgr | Zephyr module for mcumgr management library for 32-bit MCUs
framework-zephyr-mipi-sys-t | Zephyr module for MIPI System Software Trace
framework-zephyr-open-amp | Zephyr module for Open Asymmetric Multi Processing (OpenAMP) framework
framework-zephyr-openthread | OpenThread module for Zephyr
framework-zephyr-segger | Zephyr module for Segger RTT
framework-zephyr-tinycbor | Zephyr module for Concise Binary Object Representation Library
tool-cmake | CMake is an open-source, cross-platform family of tools designed to build, test and package software.
tool-dtc | Device tree compiler
tool-gperf | GNU gperf is a perfect hash function generator.
tool-jlink | SEGGER J-Link Software and Documentation Pack
tool-ninja | Ninja is a small build system with a focus on speed.
tool-openocd-riscv | OpenOCD for RISC-V
tool-qemu-riscv | Open source machine emulator and virtualizer
tool-renode | Renode is a development framework which accelerates IoT and embedded systems development by letting you simulate physical hardware systems
toolchain-riscv | GNU toolchain for RISC-V, including GCC

Warning

Linux Users:

> - Install “udev” rules 99-platformio-udev.rules

> - Raspberry Pi users, please read this article Enable serial port on Raspberry Pi.

Windows Users:

> Please check that you have a correctly installed USB driver from board manufacturer

## Frameworks

Name | Description
--- | ---
Freedom E SDK | Open Source Software for Developing on the SiFive Freedom E Platform
Zephyr | The Zephyr Project is a scalable real-time operating system (RTOS) supporting multiple hardware architectures, optimized for resource constrained devices, and built with safety and security in mind.

## Boards

Note

- You can list pre-configured boards by platformio boards command or PlatformIO Boards Explorer

- For more detailed `board` information please scroll the tables below by horizontally.

### SiFive

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
HiFive Unleashed | On-board | FU540 | 1500MHz | 32MB | 8GB
HiFive1 | On-board | FE310 | 320MHz | 16MB | 16KB
HiFive1 Rev B | On-board | FE310 | 320MHz | 16MB | 16KB

### SparkFun

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
SparkFun RED-V RedBoard | On-board | FE310 | 320MHz | 16MB | 16KB
SparkFun RED-V Thing Plus | On-board | FE310 | 320MHz | 16MB | 16KB

### Xilinx

Name | Debug | MCU | Frequency | Flash | RAM
--- | --- | --- | --- | --- | ---
Arty FPGA Dev Kit | On-board | FE310 | 450MHz | 16MB | 256MB