..
# SPDX-FileCopyrightText: Copyright 2024-2026 Arm Limited and/or its
# affiliates
#
# SPDX-License-Identifier: MIT
########
Overview
########
************
Introduction
************
The Arm Zena CSS Software Reference Stack contains a collection of
resources to provide a representative view of typical compute subsystems that
can be designed and implemented using specific generations of Arm Reference
Designs, targeting the automotive sector.
The **Arm Zena CSS** introduces the concept of a high-performance
|Cortex|-A720AE Application Processor (Primary Compute) system augmented with an
|Cortex|-R82AE
based Safety Island and real-time domain for scenarios where additional system
safety monitoring and real-time services are required. The system additionally
includes a Runtime Security Engine (RSE) used for the secure boot of the system
elements and the runtime Secure Services.
Throughout the following documentation, the name "RD-Aspen"
is used in place of Arm Zena CSS due to historical reasons.
For more information, visit the :link_subs:`rd-aspen:arm_zena_css` on arm.com.
A Fixed Virtual Platform (FVP) is available as part of the **Arm Zena CSS**
Reference Design Package.
Further information on FVPs, including expected runtime performance and other
capabilities, can be found at :link_subs:`arm-ecosystem-fvps`.
This documentation, together with the FVP, allows for the exploration of
baremetal and virtualization hosted Linux instances.
The Primary Compute firmware stack of Trusted Firmware-A, U-Boot, and
systemd-boot aims to align with the technologies and goals of the
Arm SystemReady Devicetree program.
********
Audience
********
The intended target audience of this document are software, hardware, and system
engineers who are users of Arm Zena CSS.
It describes how to build and run images for Arm automotive reference designs
using the Yocto Project build framework. Basic instructions about the Yocto
Project can be found in the :link_subs:`common:yocto-q-start`.
In addition to having Yocto related knowledge, the target audience also needs
to have a certain understanding of the following technologies:
* :link_subs:`rd-aspen:tf-m-doc`
* :link_subs:`rd-aspen:scp-firmware`
* :link_subs:`common:zephyr`
* :link_subs:`rd-aspen:tf-a-doc`
* :link_subs:`rd-aspen:op-tee-doc`
* :link_subs:`rd-aspen:trusted-services-doc`
* :link_subs:`rd-aspen:u-boot`
* :link_subs:`common:xen-hypervisor`
Documentation structure
=======================
* :ref:`User Guide `
Provides guidance for configuring, building, and deploying the solutions
on the FVP and running and validating the supported functionalities. Also
provides instructions on additional, user-defined image customization.
* :ref:`Solution Design `
Provides more advanced developer-focused details of each solution, its
implementation, and dependencies.
* :ref:`License `
Defines the license under which Arm Zena CSS is provided.
* :ref:`Release Notes `
Documents new features, bug fixes, limitations, and any other changes
provided under each Arm Zena CSS release.
* :link_subs:`common:sw-ref-stack-docs`
Provides the Arm Automotive Solutions documentation, including shared
release information and test automation references.
*********************
Arm Zena CSS overview
*********************
Software components
===================
The Arm Zena CSS is composed of multiple Open Source components,
including:
* The :link_subs:`rd-aspen:tf-m-doc`, running an instance of Trusted
Firmware-M, which offers secure boot and pre-SCP platform initialization.
* The Safety Island subsystem, running a single instance of
:link_subs:`rd-aspen:scp-firmware`. The CFG2 variant contains one additional
instance, running the :link_subs:`rd-aspen:zephyr-repo`.
* The firmware for the Primary Compute, using :link_subs:`rd-aspen:tf-a-doc`,
:link_subs:`rd-aspen:u-boot` and :link_subs:`rd-aspen:systemd-boot-doc`.
These are configured to be aligned with
:link_subs:`rd-aspen:arm-systemready-devicetree`.
Platform IP
===========
The platform consists of the following CPU cores IP:
.. table:: Arm Zena CSS platform
:widths: auto
:align: center
=================== ================================
Component Arm Zena CSS
=================== ================================
Primary Compute Cortex-A720AE Armv9.2-A
Safety Island Cortex-R82AE Armv8-R AArch64
RSE Cortex-M55 Armv8.1-M
=================== ================================
Architectures
=============
The remaining software in the Primary Compute subsystem, based on the
:link_subs:`common:ewaol` distribution, is available in two main architectures:
baremetal and virtualization.
:link_subs:`common:ewaol` provides :link_subs:`common:bluechi` as a service
controller for containerized workload orchestration.
Baremetal architecture
----------------------
The Primary Compute boots a single rich operating system (real-time Linux with
PREEMPT_RT patches).
.. figure:: images/aspen_high_level_arch.*
:align: center
:alt: Arm Zena CSS High-Level Diagram - Pre Platform Architecture
Arm Zena CSS High-Level Diagram - Pre Platform Architecture
|
Virtualization architecture
---------------------------
The Primary Compute boots into a type-1 hypervisor (Xen) using Arm’s
hardware virtualization support. There are three isolated, resource-managed
virtual machines: Dom0 (privileged domain) and DomU1 and DomU2 (unprivileged
domains). Dom0, DomU1, and DomU2 all run real-time Linux with PREEMPT_RT
patches.
.. figure:: images/aspen-virtualization-arch.*
:align: center
:alt: Virtualization Architecture Diagram
Virtualization Architecture Diagram
|
.. _rd-aspen_overview_use_cases:
*********
Use cases
*********
The :ref:`Reproduce ` section of the
User Guide contains all the instructions necessary to fetch and build the source
as well as to download the required FVP and launch the use cases.
Arm Zena CSS demonstrates how the following features can be used to enhance
the overall functional safety level of a high-performance compute platform
through the use cases implemented by the Reference Software Stack.
PSA APIs Tests in Primary Compute
=================================
Demonstrates implementation of the secure services on Application Processor.
Safety Status Unit (SSU) integration test
=========================================
This test demonstrates the working of the Safety Status Unit.
Fault Management Unit (FMU) integration test
============================================
It validates that an FMU integrates and behaves correctly within the target
system or simulation environment.
System Monitoring Control Framework (SMCF) integration test
===========================================================
Demonstrates SMCF integration by triggering the test flow and collecting
sample monitoring data from the platform.
Software Built-In Self-Test Controller (SBISTC) integration test
================================================================
It performs self-diagnostics of hardware blocks (like CPUs, memories, or logic clusters)
under software control.
Platform Fault Detection Interface (PFDI) integration
=====================================================
It is used to detect hardware faults by registering appropriate firmware test libraries.
Platform Fault Detection Interface (PFDI) in Safety Island Cluster 1
====================================================================
Demonstrates the Safety Island Cluster 1 PFDI framework built on top of Zephyr
to run fault-detection checks and report the results through the platform
firmware integration.
Reliability, Availability, and Serviceability (RAS) error processing validation
===============================================================================
Reliability, Availability, and Serviceability (RAS) aims to increase the
robustness of a system by detecting hardware errors, recording them and
correcting them where possible.
Arm Cryptographic Extension demo
================================
The demo demonstrates how the Arm Cryptographic Extension can be used to offload
cryptographic work to hardware instructions.
Mission-based power profile demo
================================
This demo is used to demonstrate system power and performance settings for different
mission modes.
Primary Compute domain reset
============================
Demonstrates how to reset the Primary Compute domain without resetting the
entire system.
Virtualization demo
===================
Demonstrates Xen hypervisor boot with two guest domains.
Linux distribution installation
===============================
Demonstrates the installation of three unmodified generic UEFI distribution
images, Debian, openSUSE and Rocky Linux.
Arm SystemReady Devicetree validation
=========================================
The Arm SystemReady Devicetree Firmware Build option builds the Arm
SystemReady Devicetree firmware.
Secure Firmware Update
======================
Demonstrates capsule-on-disk based Secure Firmware Update for both baremetal
and virtualization architectures.
Heterogeneous Inter-Processor Communication (HIPC) Demo
=======================================================
Demonstrates networking communication between the Primary Compute and Safety
Island Cluster 1 (SI CL1).
**********************************
Safety and security considerations
**********************************
Arm Zena CSS is a public example software project that tracks and
pulls upstream components, incorporating their respective security fixes
published over time. Arm partners are responsible for ensuring that the
components they use contain all the required security fixes, if and when they
deploy a product derived from Arm reference solutions.
********************
Repository structure
********************
The Arm Zena CSS repository (|arm zena css repository|) is
structured as follows:
* ``arm-zena-css``:
* ``yocto``
Directory implementing the Yocto layer as well as kas build configuration
files.
* ``components``
Directory containing source code for components which can either be used
directly or as part of the Yocto layer.
* ``documentation``
Directory which contains the documentation sources, defined in
ReStructuredText (``.rst``) format for building via ``sphinx``.
******************
Repository license
******************
The repository's standard license is the MIT license (more details in
:ref:`license_link:License`), under which most of the repository's content is
provided. Exceptions to this standard license relate to files that represent
modifications to externally licensed works (for example, patch files). These
files might therefore be included in the repository under alternative licenses in
order to be compliant with the licensing requirements of the associated external
works.
The Arm corporate logo and words marked with ® or ™ are registered trademarks
or trademarks of Arm Limited (or its affiliates) in the US and/or elsewhere.
All rights reserved. Other brands and names mentioned in this document might be
the trademarks of their respective owners.
Please follow Arm’s trademark usage guidelines at :link_subs:`common:arm-trademark`.
*********************************
Contributions and issue reporting
*********************************
This project has not put in place a process for contributions currently.
To report issues with the repository such as potential bugs, security concerns,
or feature requests, submit an Issue via :link_subs:`common:gitlab-issues`,
following the project's template.
********************
Feedback and support
********************
To request support contact Arm at support@arm.com. Arm licensees can
also contact Arm via their partner managers.