Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Armv9-A Architecture - User Guide Examples

Introduction

The Arm® A-profile AArch64 architecture defines many aspects of a Cortex-A processor's behavior. Some major architecture extension categories include:

  • Exception model
  • Memory management
  • Interrupt handling using the Generic Interrupt Controller (GIC)
  • Synchronization and multi-core coordination

To assist users in understanding the Armv9-A architecture features, a set of user guides are developed to describe the architecture extension categories. These user guides are written in simple language such that it is easy to learn and help users understand the architectural features along with example project source code (wherever applicable). The user guides also provide details on:

  • Linkage between an architecture feature and its usage in the software
  • Guidelines/recommendations for software developers (Do's and Don'ts)

User guides for AArch64 architecture are available at Learn The Architecture - A-Profile.

This repository contains example projects to give a practical explanation of architecture feature usage, some of which correspond with A-profile user guides.

These A-profile code-examples demonstrate fundamental architectural concepts and system components through focused bare-metal programs. The examples are intended to show how architectural features behave and how they can be exercised in software, rather than to provide complete firmware or operating system implementations.

For more details on Arm A-profile architecture rules and its pseudocode, please refer to Arm Architecture Reference Manual Supplement for A-profile architecture and associated A-Profile Architecture content on developer.arm.com.

Project Structure

The example software projects are organized as individual, self-contained demonstrations, each focusing on a specific architectural concept or system component.

Architecture category User Guide Chapter(s) Folder name
Bare-metal boot A-Profile Bare-Metal Boot Guide Chapter 5: Placing software for boot
Chapter 6: Choosing the primary PE
bare-metal-boot-examples_ATfE/

Each example includes its own README.md with details on:

  • The architectural concepts being demonstrated
  • Build and run instructions
  • Platform or configuration requirements
  • Expected outputs

Additional Notes

  • The example projects are developed to demonstrate architectural concepts and features. These example projects should not be used as a test to validate all aspects of a feature.
  • The example projects may be built with Arm Compiler 6, GCC tool chain, or Arm Toolchain for Embedded (ATfE).  This will be indicated by the folder name. Refer to the individual example project's README file for necessary settings.
  • The tool chain version details are captured in each example project's README.md file. Though the example may work using other versions of a tool chain, it may not be verified.

License

Example projects are licensed under the MIT license. Please see LICENSE.

Feedback and Support

  • For feedback and support on these example projects, use the GitHub Issue Tracker that is associated with this repository.
  • For support on Armv A-profile architecture features, follow the Arm Community architectures and processors forum using the Cortex-A tag where relevant.
  • Arm licensees may contact Arm directly through their partner managers.

Copyright 2022-2026 Arm Limited and/or its affiliates

About

Example software projects to accompany Armv9-A architecture User Guides and training

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages