Back to Zephyr

Overview

boards/arm/mps4/doc/index.rst

4.4.06.3 KB
Original Source

.. zephyr:board:: mps4

Overview


The MPS4 board configuration is used by Zephyr applications that run on the MPS4 board.

Corstone-315 FVP/Corstone-320 FVP are Arm reference subsystem for secure System on Chips containing an Armv8.1-M Cortex-M85 processor, LCM, KMU and SAM IPs. Corstone-320 FVP have Ethos-U85 while Corstone-315 FVP have a Ethos-U65 neural network processor. They are available free of charge for Linux and Windows systems. The FVPs have been selected for simulation since they provide access to the Ethos-U65/Ethos-U85 NPU, which is unavailable in QEMU or other simulation platforms.

Zephyr board options

.. tabs::

.. tab:: MPS4 Corstone-315 (FVP)

The MPS4 FVP is an SoC with Cortex-M85 architecture. Zephyr provides support for building for both Secure and Non-Secure firmware.

The BOARD options are summarized below:

+-------------------------------+-----------------------------------------------+ | BOARD | Description | +===============================+===============================================+ | mps4/corstone315/fvp | For building Secure (or Secure-only) firmware | +-------------------------------+-----------------------------------------------+ | mps4/corstone315/fvp/ns | For building Non-Secure firmware | +-------------------------------+-----------------------------------------------+

FPGA Usage: - N/A.

FVP Usage: - To run with the FVP, first set environment variable ARMFVP_BIN_PATH before using it. Then you can run it with west build -t run.

.. code-block:: bash

   export ARMFVP_BIN_PATH=/path/to/fvp/directory
   west build -b {BOARD qualifier from table above} samples/hello_world -t run

To run the Fixed Virtual Platform simulation tool you must download "FVP model for the Corstone-315 MPS4" from Arm and install it on your host PC.

QEMU Usage: - N/A.

.. tab:: MPS4 Corstone-320 (FVP)

The MPS4 FVP is an SoC with Cortex-M85 architecture. Zephyr provides support for building for both Secure and Non-Secure firmware.

The BOARD options are summarized below:

+-------------------------------+-----------------------------------------------+ | BOARD | Description | +===============================+===============================================+ | mps4/corstone320/fvp | For building Secure (or Secure-only) firmware | +-------------------------------+-----------------------------------------------+ | mps4/corstone320/fvp/ns | For building Non-Secure firmware | +-------------------------------+-----------------------------------------------+

FPGA Usage: - N/A.

FVP Usage: - To run with the FVP, first set environment variable ARMFVP_BIN_PATH before using it. Then you can run it with west build -t run.

.. code-block:: bash

   export ARMFVP_BIN_PATH=/path/to/fvp/directory
   west build -b {BOARD qualifier from table above} samples/hello_world -t run

To run the Fixed Virtual Platform simulation tool you must download "FVP model for the Corstone-320 MPS4" from Arm and install it on your host PC. This board has been tested with version 11.27.25 (Sep 24 2024).

QEMU Usage: - N/A.

.. note::

  • Board qualifier must include the variant name as mentioned above. mps4/corstone315/ mps4/corstone320 without the variant name is not a valid qualifier.
  • mps4/corstone315/fvp/ns/ mps4/corstone320/fvp/ns variant needs latest upstream TF-M release since Zephyr's current TF-M doesn't support Corstone-315 FVP yet.

Hardware


No H/W available yet, only ARMFVP simulated board variants are supported for now.

Supported Features

.. zephyr:board-supported-hw::

Serial Port

The MPS4 has six UARTs. The Zephyr console output by default, uses UART0.

Serial port 0 on the Debug USB interface is the MCC board control console.

Serial port 1 on the Debug USB interface is connected to UART 0.

Serial port 2 on the Debug USB interface is connected to UART 1.

Serial port 3 on the Debug USB interface is connected to UART 2.

.. Programming and Debugging:

Programming and Debugging


Flashing

  • N/A since the only support available is FVP.

Building an application with Corstone-315

You can build applications in the usual way. Here is an example for the :zephyr:code-sample:hello_world application with Corstone-315.

.. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: mps4/corstone315/fvp :goals: run

Run with FVP and you should see the following message:

.. code-block:: console

Hello World! mps4

Building an application with Corstone-320

You can build applications in the usual way. Here is an example for the :zephyr:code-sample:hello_world application with Corstone-320.

.. zephyr-app-commands:: :zephyr-app: samples/hello_world :board: mps4/corstone320/fvp :goals: run

Run with FVP and you should see the following message:

.. code-block:: console

Hello World! mps4

For more details refer to:

  • Corstone SSE-315 Reference Guide_
  • Corstone SSE-320 Reference Guide_
  • Cortex M85 Generic User Guide_
  • Arm Corstone-320 Reference Package Technical Overview_
  • Arm MPS4 FPGA Prototyping Board Technical Reference Manual_

.. _Corstone-315 FVP: https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps

.. _Corstone-320 FVP: https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps

.. _Corstone SSE-315 Reference Guide: https://developer.arm.com/documentation/109395/0000

.. _Corstone SSE-320 Reference Guide: https://developer.arm.com/documentation/109760/0000/

.. _Cortex M85 Generic User Guide: https://developer.arm.com/documentation/101924/latest

.. _Arm Corstone-320 Reference Package Technical Overview: https://developer.arm.com/documentation/109761/0000/

.. _Arm MPS4 FPGA Prototyping Board Technical Reference Manual: https://developer.arm.com/documentation/102577/0000/