Port and integrate FreeRTOS on the Arm Zena CSS Safety Island
Introduction
Build the Cortex-R82 FreeRTOS demo
Build and validate FreeRTOS on the Cortex-R82AE FVP
Load FreeRTOS directly into Zena CSS Safety Island Cluster 1
Add FreeRTOS to the Zena CSS software stack boot flow
Integrate FreeRTOS into Zena CSS with Yocto
Next Steps
Port and integrate FreeRTOS on the Arm Zena CSS Safety Island
Who is this for?
This advanced topic is for embedded and automotive software developers who want to replace the Zephyr Safety Island image in the Arm Zena CSS Reference Software Stack with FreeRTOS.
What will you learn?
After completing this Learning Path, you'll be able to perform the following tasks:
- Build and validate a four-core FreeRTOS SMP port on the standalone Cortex-R82AE Fixed Virtual Platform (FVP).
- Adapt the boot, memory, and UART configuration of the port for the Zena CSS Safety Island and verify direct loading.
- Validate FreeRTOS as the Cluster 1 firmware through the standard Zena CSS secure boot flow.
- Implement and validate a selectable Yocto recipe that builds, signs, and packages FreeRTOS instead of Zephyr.
Prerequisites
Before starting, you'll need the following prerequisites:
- An Ubuntu 22.04 instance
- Experience with FreeRTOS, CMake, linker scripts, and Arm exception levels
- Arm
GNU Toolchain 15.3
or
Arm Compiler for Embedded 6.24
, CMake 3.22.1, and
FVP_BaseR_AEMv8Rfrom Fast Models 11.32 - Access to the Cortex-R82AE demo and kernel repositories
- A working Arm Zena CSS Reference Software Stack build and its FVP
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll port a four-core FreeRTOS application to the Arm Zena CSS Safety Island and integrate it into the reference software stack. First, you’ll verify the Cortex-R82 demo, then adapt and debug it on the standalone Cortex-R82AE FVP. You’ll then configure Zena CSS and load the binary directly into Safety Island Cluster 1. Next, you’ll substitute the firmware to validate secure boot. Finally, you’ll apply and inspect a Yocto patch that makes FreeRTOS selectable.