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 Arm® Cortex®-A720AE Application Processor (Primary Compute) system augmented with an Arm® 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 Arm Zena Compute Subsystem (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 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 Yocto Project Quick Start.
In addition to having Yocto related knowledge, the target audience also needs to have a certain understanding of the following technologies:
Documentation structure
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.
Provides more advanced developer-focused details of each solution, its implementation, and dependencies.
Defines the license under which Arm Zena CSS is provided.
Documents new features, bug fixes, limitations, and any other changes provided under each Arm Zena CSS release.
Arm Automotive Solutions documentation
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 Runtime Security Engine (RSE), 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 System Control Processor (SCP) Firmware. The CFG2 variant contains one additional instance, running the Zephyr real-time operating system (RTOS).
The firmware for the Primary Compute, using Trusted Firmware-A (TF-A), U-Boot and systemd-boot. These are configured to be aligned with Arm SystemReady Devicetree.
Platform IP
The platform consists of the following CPU cores IP:
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 EWAOL distribution, is available in two main architectures: baremetal and virtualization. EWAOL provides 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).
Fig. 1 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.
Fig. 2 Virtualization Architecture Diagram
Use cases
The 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 (https://gitlab.arm.com/automotive-and-industrial/arm-auto-solutions/arm-zena-css) is structured as follows:
arm-zena-css:
yoctoDirectory implementing the Yocto layer as well as kas build configuration files.
componentsDirectory containing source code for components which can either be used directly or as part of the Yocto layer.
documentationDirectory which contains the documentation sources, defined in ReStructuredText (
.rst) format for building viasphinx.
Repository license
The repository’s standard license is the MIT license (more details in 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 Arm Trademark Policies.
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 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.