2021-05-14 08:30:52 +02:00
|
|
|
===========================
|
|
|
|
Microchip Polarfile (MPFS)
|
|
|
|
===========================
|
|
|
|
|
|
|
|
RV64 64-bit RISC-V multiprocessor-based Microcontroller Subsystem
|
|
|
|
(MPFS025T, MPFS095T, MPFS160T, MPFS250T, MPFS460T)
|
|
|
|
|
|
|
|
|
|
|
|
MPFS Toolchain
|
|
|
|
==============
|
|
|
|
|
|
|
|
A generic RISC-V toolchain can be used to build MPFS projects.
|
|
|
|
Like: https://xpack.github.io/riscv-none-embed-gcc or https://github.com/sifive/freedom-tools/releases
|
|
|
|
|
|
|
|
|
|
|
|
Booting
|
|
|
|
=======
|
|
|
|
|
|
|
|
The NuttX port for now relies on HSS bootloader to carry on some hardware initializations.
|
|
|
|
|
|
|
|
|
|
|
|
Building and flashing
|
|
|
|
=====================
|
|
|
|
|
|
|
|
First make sure that ``hss-payload-generator`` is installed.
|
|
|
|
Available from: https://github.com/polarfire-soc/hart-software-services
|
|
|
|
|
|
|
|
This tool is used to convert the ELF/bin to a compatible HSS payload image
|
|
|
|
|
|
|
|
Configure the NuttX project: ``./tools/configure.sh icicle:nsh``
|
|
|
|
Run ``make`` to build the project.
|
|
|
|
|
|
|
|
Create HSS payload bin::
|
|
|
|
|
|
|
|
hss-payload-generator -v -c hss-nuttx.yml payload.bin
|
|
|
|
|
|
|
|
|
|
|
|
Debugging with OpenOCD
|
|
|
|
======================
|
|
|
|
|
|
|
|
Compatible OpenOCD and configs can be downloaded from:
|
|
|
|
https://www.microsemi.com/product-directory/design-tools/4879-softconsole#downloads
|
|
|
|
|
|
|
|
|
|
|
|
OpenOCD can then be used::
|
|
|
|
|
|
|
|
openocd -c "set DEVICE MPFS" --file board/microsemi-riscv.cfg
|
|
|
|
|
|
|
|
|
|
|
|
Peripheral Support
|
|
|
|
==================
|
|
|
|
|
|
|
|
The following list indicates the state of peripherals' support in NuttX:
|
|
|
|
|
|
|
|
============ ======= =====
|
|
|
|
Peripheral Support NOTES
|
|
|
|
============ ======= =====
|
|
|
|
GPIO Yes
|
|
|
|
MMUART Yes Uart mode only
|
2021-06-01 11:30:28 +02:00
|
|
|
SPI Yes
|
2021-05-12 11:13:14 +02:00
|
|
|
I2C Yes
|
2021-05-14 08:30:52 +02:00
|
|
|
Timers No
|
|
|
|
Watchdog No
|
|
|
|
RTC No
|
|
|
|
CAN No
|
|
|
|
eNVM No
|
|
|
|
USB No
|
|
|
|
eMMC SD/SDIO No
|
|
|
|
============ ======= =====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Supported Boards
|
|
|
|
================
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
:glob:
|
|
|
|
:maxdepth: 1
|
|
|
|
|
|
|
|
boards/*/*
|
|
|
|
|
2021-06-01 11:30:28 +02:00
|
|
|
|