boards/arm/fvp_base_revc_2xaemv8a/doc/index.html · boards/arm/fvp_base_revc_2xaemv8a/doc/index.rst 공식 원문 ↗

Zephyr 3.7.0 · Arm FVP · Armv8-A AArch64

Arm Base RevC AEMv8-A FVP

generic Armv8-A 64-bit platform을 emulation하고 TF-A BL33 payload로 Zephyr EL1NS를 실행하는 구성입니다.

Official pathboards/arm/fvp_base_revc_2xaemv8a/doc/index.html
Source fileboards/arm/fvp_base_revc_2xaemv8a/doc/index.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

Arm Fixed Virtual Platform으로 generic Armv8-A 64-bit system을 emulation합니다. GICv3, generic timer, PL011 UART와 SMSC_91C111 Ethernet을 지원합니다.

Architecture

Armv8-A AArch64

Clock

100 MHz

Devices

GICv3, PL011, Generic Timer, SMSC_91C111

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 EB23C42F687C2BAB7CDC4B12708C4D5EAA2E2C98C4C4DEF1973DD7F4682B10C6
.. _fvp_base_revc_2xaemv8a:

ARM BASE RevC AEMv8A Fixed Virtual Platforms
############################################

Overview
********

This board configuration will use ARM Fixed Virtual Platforms(FVP) to emulate
a generic Armv8-A 64-bit hardware platform.

This configuration provides support for a generic Armv8-A 64-bit CPU and
these devices:

* GICv3 interrupt controller
* ARM architected (Generic) timer
* PL011 UART controller

Hardware
********

Supported Features
==================

The following hardware features are supported:

+-----------------------+------------+----------------------+
| Interface             | Controller | Driver/Component     |
+=======================+============+======================+
| GICv3                 | on-chip    | interrupt controller |
+-----------------------+------------+----------------------+
| PL011 UART            | on-chip    | serial port          |
+-----------------------+------------+----------------------+
| ARM GENERIC TIMER     | on-chip    | system clock         |
+-----------------------+------------+----------------------+
| SMSC_91C111           | on-chip    | ethernet device      |
+-----------------------+------------+----------------------+

The kernel currently does not support other hardware features on this platform.

Devices
========

System Clock
------------

This board configuration uses a system clock frequency of 100 MHz.

Serial Port
-----------

This board configuration uses a single serial communication channel with the
UART0.

Known Problems or Limitations
==============================

Programming and Debugging
*************************

Environment
===========

First, set the ``ARMFVP_BIN_PATH`` environment variable before building.
Optionally, set ``ARMFVP_EXTRA_FLAGS`` to pass additional arguments to the FVP.

.. code-block:: bash

   export ARMFVP_BIN_PATH=/path/to/fvp/directory

Programming
===========

Use this configuration to build basic Zephyr applications and kernel tests in the
ARM FVP emulated environment, for example, with the :zephyr:code-sample:`synchronization` sample:

.. zephyr-app-commands::
   :zephyr-app: samples/synchronization
   :host-os: unix
   :board: fvp_base_revc_2xaemv8a
   :goals: build

This will build an image with the synchronization sample app.
Then you can run it with ``west build -t run``.

Running Zephyr at EL1NS
***********************

In order to run Zephyr as EL1NS with ``CONFIG_ARMV8_A_NS``, you'll need a proper
Trusted Firmware loaded in the FVP model.

The ARM TF-A for FVP can be used to run Zephyr as preloaded BL33 payload.

Checkout and Build the TF-A:

.. code-block:: console

   git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git --depth 1
   cd trusted-firmware-a/
   make PLAT=fvp PRELOADED_BL33_BASE="0x88000000" all fip

then export the ``ARMFVP_BL1_FILE` and ``ARMFVP_FIP_FILE`` environment variables:

.. code-block:: console

   export ARMFVP_BL1_FILE=<path/to/tfa-a/build/fvp/release/bl1.bin>
   export ARMFVP_FIP_FILE=<path/to/tfa-a/build/fvp/release/fip.bin>

Debugging
=========

Refer to the detailed overview about :ref:`application_debugging`.

Networking
==========

References
**********

1. (ID070919) Arm® Architecture Reference Manual - Armv8, for Armv8-A architecture profile
2. AArch64 Exception and Interrupt Handling
3. https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms

Part 3

한국어 전문 번역

개요

이 board configuration은 Arm FVP를 사용해 generic Armv8-A 64-bit hardware platform을 emulation합니다. generic Armv8-A CPU, GICv3 interrupt controller, Arm architected generic timer와 PL011 UART를 지원합니다.

지원 기능

InterfaceControllerDriver/Component
GICv3on-chipinterrupt controller
PL011 UARTon-chipserial port
Arm GENERIC TIMERon-chipsystem clock
SMSC_91C111on-chipethernet device

다른 hardware 기능은 현재 kernel에서 지원하지 않습니다.

장치

System clock

system clock frequency는 100 MHz입니다.

Serial

single serial channel UART0을 사용합니다.

프로그래밍과 디버깅

Environment

build 전에 FVP binary directory를 지정합니다. 추가 argument는 ARMFVP_EXTRA_FLAGS에 넣습니다.

export ARMFVP_BIN_PATH=/path/to/fvp/directory

Programming

west build -b fvp_base_revc_2xaemv8a samples/synchronization
west build -t run

EL1NS에서 Zephyr 실행

CONFIG_ARMV8_A_NS로 EL1NS를 실행하려면 FVP model에 적절한 Trusted Firmware를 load해야 합니다. Arm TF-A for FVP에서 Zephyr를 preloaded BL33 payload로 사용합니다.

TF-A checkout·build

git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git --depth 1
cd trusted-firmware-a/
make PLAT=fvp PRELOADED_BL33_BASE="0x88000000" all fip

생성된 BL1과 FIP 경로를 export합니다.

export ARMFVP_BL1_FILE=<path/to/tfa-a/build/fvp/release/bl1.bin>
export ARMFVP_FIP_FILE=<path/to/tfa-a/build/fvp/release/fip.bin>

Debug

Zephyr application debugging overview를 따릅니다.

참고 자료

  1. Armv8-A Architecture Reference Manual
  2. AArch64 Exception and Interrupt Handling
  3. Arm FVP

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.