Microsemi M2GL025 Mi-V

Overview

The Microsemi M2GL025 board is an IGLOO2 FPGA based development board. The Mi-V RISC-V soft CPU can be deployed on the MGL025 board. More information can be found on Microsemi’s website.

Programming and debugging

Building

Applications for the m2gl025_miv board configuration can be built as usual (see Build an Application):

Using west:

west build -b m2gl025_miv

Using CMake and ninja:

# Use cmake to configure a Ninja-based buildsystem:
cmake -B build -GNinja -DBOARD=m2gl025_miv .

# Now run ninja on the generated build system:
ninja -C build

Flashing

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 Microsemi’s SoftConsole website.

With the necessary tools installed, you can connect to the board using OpenOCD. To establish an OpenOCD connection run:

sudo LD_LIBRARY_PATH=<softconsole_path>/openocd/bin \
<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 a toolchain delivered with SoftConsole SDK.

Here is the GDB terminal command to connect to the device and load the binary:

<softconsole_path>/riscv-unknown-elf-gcc/bin/riscv64-unknown-elf-gdb \
-ex "target extended-remote localhost:3333" \
-ex "set mem inaccessible-by-default off" \
-ex "set arch riscv:rv32" \
-ex "set riscv use_compressed_breakpoints no" \
-ex "load" <path_to_executable>

Debugging

Refer to the detailed overview of Custom Board, DeviceTree and SOC Definitions.