.. _hifive1:

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 <https://www.sifive.com/boards/hifive1>`__ (also known as HiFive1 Rev A)
and `HiFive1 Rev B <https://www.sifive.com/boards/hifive1-rev-b>`__.

.. figure:: img/hifive1.jpg
   :align: center
   :alt: SiFive HiFive1 board

   SiFive HiFive1 board (image courtesy of SiFive)

.. figure:: img/hifive1_revb.jpg
   :align: center
   :alt: SiFive HiFive1 Rev B board

   SiFive HiFive1 Rev B board (image courtesy of SiFive)

Programming and debugging
*************************

Building
========

Applications for the HiFive1 board configuration can be built as usual (see
:ref:`build_an_application`) using the corresponding board name:

.. tabs::

   .. group-tab:: HiFive1

      .. zephyr-app-commands::
         :board: hifive1
         :goals: build

   .. group-tab:: HiFive1 Rev B

      .. zephyr-app-commands::
         :board: hifive1@B
         :goals: build

Flashing
========


HiFive1
-------

.. tabs::

   .. group-tab:: 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
      <https://www.sifive.com/boards>`_ 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:

      .. zephyr-app-commands::
         :board: hifive1
         :goals: build
         :gen-args: -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``.

   .. group-tab:: HiFive1 Rev B

      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
      <https://www.segger.com/downloads/jlink#J-LinkSoftwareAndDocumentationPack>`_
      and choose version V6.46a or later (Downloads for Windows, Linux, and macOS are
      available).

Now you can flash the application as usual (see :ref:`build_an_application` and
:ref:`application_run` for more details):

.. code-block:: console

   west flash

Depending on your OS you might have to run the flash command as superuser.

Debugging
=========

Refer to the detailed overview about :ref:`application_debugging`.
