diff --git a/boards/arm/mps2/board.cmake b/boards/arm/mps2/board.cmake index f99e3a9b1cb..29a07fa884f 100644 --- a/boards/arm/mps2/board.cmake +++ b/boards/arm/mps2/board.cmake @@ -1,9 +1,8 @@ # SPDX-License-Identifier: Apache-2.0 # Copyright 2024 Arm Limited and/or its affiliates - -set(SUPPORTED_EMU_PLATFORMS qemu) if(CONFIG_BOARD_MPS2_AN385) + set(SUPPORTED_EMU_PLATFORMS qemu armfvp) set(QEMU_CPU_TYPE_${ARCH} cortex-m3) set(QEMU_FLAGS_${ARCH} -cpu ${QEMU_CPU_TYPE_${ARCH}} @@ -11,6 +10,7 @@ if(CONFIG_BOARD_MPS2_AN385) -nographic -vga none ) + set(ARMFVP_BIN_NAME FVP_MPS2_Cortex-M3) elseif(CONFIG_BOARD_MPS2_AN383) set(SUPPORTED_EMU_PLATFORMS armfvp) set(ARMFVP_BIN_NAME FVP_MPS2_Cortex-M0plus) @@ -23,6 +23,7 @@ elseif(CONFIG_BOARD_MPS2_AN386) set(SUPPORTED_EMU_PLATFORMS armfvp) set(ARMFVP_BIN_NAME FVP_MPS2_Cortex-M4) elseif(CONFIG_BOARD_MPS2_AN521_CPU0 OR CONFIG_BOARD_MPS2_AN521_CPU0_NS OR CONFIG_BOARD_MPS2_AN521_CPU1) + set(SUPPORTED_EMU_PLATFORMS qemu) set(QEMU_CPU_TYPE_${ARCH} cortex-m33) set(QEMU_FLAGS_${ARCH} -cpu ${QEMU_CPU_TYPE_${ARCH}} diff --git a/boards/arm/mps2/doc/mps2_an385.rst b/boards/arm/mps2/doc/mps2_an385.rst index 19b759125e4..d104809d2c9 100644 --- a/boards/arm/mps2/doc/mps2_an385.rst +++ b/boards/arm/mps2/doc/mps2_an385.rst @@ -6,7 +6,7 @@ ARM V2M MPS2 AN385 Overview ******** -The mps2/an385 board configuration is used by Zephyr applications that run on +The ``mps2/an385`` board target is used by Zephyr applications that run on the V2M MPS2 board. It provides support for the ARM Cortex-M3 (AN385) CPU and the following devices: @@ -18,15 +18,15 @@ the following devices: :align: center :alt: ARM V2M MPS2 -In addition to enabling actual hardware usage, this board configuration can -also use QEMU to emulate the AN385 platform running on the MPS2+. +In addition to enabling actual hardware usage, this board target can +also use QEMU and FVP to emulate the AN385 platform running on the MPS2+. More information about the board can be found at the `V2M MPS2 Website`_. The Application Note AN385 can be found at `Application Note AN385`_. .. note:: - This board configuration makes no claims about its suitability for use + This board target makes no claims about its suitability for use with actual MPS2 hardware systems using AN385, or any other hardware system. It has been tested on actual hardware, but its primary purpose is for use with QEMU and unit tests. @@ -62,7 +62,7 @@ ARM V2M MPS2 provides the following hardware components: Supported Features ================== -The mps2/an385 board configuration supports the following hardware features: +The ``mps2/an385`` board target supports the following hardware features: +-----------+------------+-------------------------------------+ | Interface | Controller | Driver/Component | @@ -279,3 +279,6 @@ the following message: .. _Application Note AN385: http://infocenter.arm.com/help/topic/com.arm.doc.dai0385c/DAI0385C_cortex_m3_on_v2m_mps2.pdf + +.. _FVP: + https://developer.arm.com/downloads/view/FMFVP diff --git a/boards/arm/mps2/mps2_an385.dts b/boards/arm/mps2/mps2_an385.dts index 9206eb47039..fd7279d203d 100644 --- a/boards/arm/mps2/mps2_an385.dts +++ b/boards/arm/mps2/mps2_an385.dts @@ -11,6 +11,14 @@ #include #include "mps2_base.dtsi" +/* + * FVP does not support uart3 and uart4 whilst QEMU does. + * So if using QEMU, you might want to comment out the following two lines + */ + +/delete-node/ &uart3; +/delete-node/ &uart4; + / { cpus { #address-cells = <1>; diff --git a/boards/arm/mps2/mps2_an385.yaml b/boards/arm/mps2/mps2_an385.yaml index 45deb74e2e0..f88f38019b2 100644 --- a/boards/arm/mps2/mps2_an385.yaml +++ b/boards/arm/mps2/mps2_an385.yaml @@ -4,6 +4,8 @@ type: mcu arch: arm simulation: - name: qemu + - name: armfvp + exec: FVP_MPS2_Cortex-M3 toolchain: - zephyr - gnuarmemb