blob: 88808145c9bfc7b4e39563d41abd909c200bc55b [file] [log] [blame]
.. _beaglev_fire:
BeagleV®-Fire
#############
Overview
********
BeagleV®-Fire is a revolutionary single-board computer (SBC) powered by the Microchips
PolarFire® MPFS025T 5x core RISC-V System on Chip (SoC) with FPGA fabric. BeagleV®-Fire opens up new
horizons for developers, tinkerers, and the open-source community to explore the vast potential of
RISC-V architecture and FPGA technology. It has the same P8 & P9 cape header pins as BeagleBone
Black allowing you to stack your favorite BeagleBone cape on top to expand its capability.
Built around the powerful and energy-efficient RISC-V instruction set architecture (ISA) along with
its versatile FPGA fabric, BeagleV®-Fire SBC offers unparalleled opportunities for developers,
hobbyists, and researchers to explore and experiment with RISC-V technology.
.. image:: img/BeagleV-Fire-Front-Annotated-768x432.webp
:align: center
:alt: beaglev_fire
Building
========
Applications for the ``beaglev_fire`` board configuration can be built as usual:
.. zephyr-app-commands::
:zephyr-app: samples/hello_world
:board: beaglev_fire
:goals: build
Debugging
=========
In order to upload the application to the device, you'll need OpenOCD and GDB
with RISC-V support.
You can get them as a part of SoftConsole SDK.
Download and installation instructions can be found on
`Microchip's SoftConsole website
<https://www.microchip.com/en-us/products/fpgas-and-plds/fpga-and-soc-design-tools/programming-and-debug/softconsole>`_.
You will also require a Debugger such as Microchip's FlashPro5/6.
Connect to BeagleV-Fire UART debug port using a 3.3v USB to UART bridge.
Now you can run ``tio <port>`` in a terminal window to access the UART debug port connection. Once you
are connected properly you can press the Reset button which will show you a progress bar like:
.. image:: img/board-booting.png
:align: center
:alt: beaglev_fire
Once you see that progress bar on your screen you can start pressing any button (0-9/a-z) which
will interrupt the Hart Software Services from booting its payload.
With the necessary tools installed, you can connect to the board using OpenOCD.
from a different terminal, run:
.. code-block:: bash
<softconsole_path>/openocd/bin/openocd --file \
<softconsole_path>/openocd/share/openocd/scripts/board/microsemi-riscv.cfg
Leave it running, and in a different terminal, use GDB to upload the binary to
the board. You can use the RISC-V GDB from the Zephyr SDK.
launch GDB:
.. code-block:: bash
<path_to_zephyr_sdk>/riscv64-zephyr-elf/bin/riscv64-zephyr-elf-gdb
Here is the GDB terminal command to connect to the device
and load the binary:
.. code-block:: bash
set arch riscv:rv64
set mem inaccessible-by-default off
file <path_to_zehyr.elf>
target extended-remote localhost:3333
load
break main
continue