# [Get started with Realm Management Extension (RME)](https://learn.arm.com/learning-paths/cross-platform/cca_rme/)

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/cross-platform/cca_rme/)
- [Arm Confidential Compute Architecture](https://learn.arm.com/learning-paths/cross-platform/cca_rme/cca/)
- [Bare-metal example](https://learn.arm.com/learning-paths/cross-platform/cca_rme/bare-metal/)
- [Next Steps](https://learn.arm.com/learning-paths/cross-platform/cca_rme/_next-steps/)

## About this Learning Path

| Skill level:       | Introductory         |
|---------------------|---------------------|
| Reading time:       | 30 min              |
| Last updated:       | 02 Jul 2026         |

| Author:            | Ronan Synnott, Arm [LinkedIn](https://linkedin.com/in/ronansynnott) |
|---------------------|---------------------------------------------------------------------|
| Arm IP:             | [Neoverse](https://support.arm.com/?tab=compute-ip&Product%20Type=Infrastructure%20Processors), [Cortex-A](https://support.arm.com/?tab=compute-ip&Product%20Type=Application%20Processors), [Armv9-A](https://developer.arm.com/Processors#q=Armv9-A) |
| Tags:               | [Performance and Architecture](https://learn.arm.com/tag/performance-and-architecture), [Linux](https://learn.arm.com/tag/linux), [Android](https://learn.arm.com/tag/android), [Trusted Firmware](https://learn.arm.com/tag/trusted-firmware), [Arm Development Studio](https://learn.arm.com/tag/arm-development-studio), [RME](https://learn.arm.com/tag/rme), [CCA](https://learn.arm.com/tag/cca), [Runbook](https://learn.arm.com/tag/runbook) |

### Who is this for?

This is an introductory topic for developers interested in learning the concepts of Realm Management Extension and the Arm Confidential Compute Architecture (CCA).

### What will you learn?

Upon completion of this Learning Path, you will be able to:

- Understand the Arm Confidential Compute Architecture (CCA)
- Understand a simple bare-metal example provided with Arm Development Studio

### Prerequisites

Before starting, you will need the following:

- Some understanding of the Arm architecture
- Arm Development Studio, 2023.0 or later

### Summary

You’ll learn the key ideas of Arm Confidential Compute Architecture (CCA) and see how Realm Management Extension (RME) supports a CCA system. First, you’ll review how CCA extends TrustZone with Normal, Secure, Realm, and Root worlds, with a secure monitor orchestrating transitions. Then, you’ll import a bare-metal RME example included with Arm Development Studio and run it on the Arm Architecture Envelope Model (AEM) Fixed Virtual Platform supplied with the tools. Using the Arm Debugger, you’ll explore and debug the example to examine system behavior in a controlled model environment and connect the architectural concepts to a working RME setup.

### Frequently asked questions

#### Where do I import the RME bare-metal example in Arm Development Studio?

Open the IDE and choose **File > Import… > Arm Development Studio > Examples & Programming Libraries**. Then, select the RME bare-metal example that targets the AEM Fixed Virtual Platform.

#### Which target should I use to run the example?

Run the project on the Arm Architecture Envelope Model (AEM) Fixed Virtual Platform supplied with Development Studio. Make sure the launch targets the AEM FVP before starting the debugger.

#### Do I need an operating system or a physical board to follow the steps?

No. The example is bare-metal and runs on the supplied AEM FVP, so you don’t need an OS or hardware board.

#### How does this example connect to CCA concepts?

It demonstrates Realm Management Extension (RME), a processor feature needed to implement a CCA system. CCA adds Normal, Secure, Realm, and Root worlds, with a secure monitor in Root managing transitions.

#### What should I check if the example is missing or fails to import?

Confirm you’re using Arm Development Studio 2023.0 or later because the example is provided with that version or newer. If it still doesn’t appear, verify that the examples and the AEM FVP components are installed with your setup.
