Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Architectures and Processors blog Whitepaper - ARMv8-M Architecture Technical Overview
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tell us what you think
Tags
  • AMBA
  • Architecture
  • White Paper
  • Cortex-M23
  • Technical Support
  • Cortex-M35P
  • Cortex-M
  • TrustZone
  • Cortex-M33
  • Armv8-M
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Whitepaper - ARMv8-M Architecture Technical Overview

Joseph Yiu
Joseph Yiu
November 11, 2016
3 minute read time.

The next generation of ARM Cortex-M processors will be powered by a new architecture version called ARMv8-M architecture. This document provides a technical overview of various enhancements in the new architecture, as well as an introduction to the security technology, called TrustZone for ARMv8-M. This document also introduces AMBA 5 AHB5 which enables security management at a system level, and covers various use cases of the new technology.

ARMv8-M Architecture

  • ARMv8-M Architecture Technical Overview
  • ARMv8-M Architecture Reference manual

Information on ARMv8-M and TrustZone

  • The Next Steps in the Evolution of Embedded Processors for the Smart Connected Era
  • ARMv8-M architecture: what’s new for developers - YouTube

Cortex-M23, Cortex-M33 and Cortex-M35P processors information

  • Cortex-M | Introduction to ARM Cortex-M23 and Cortex-M33
  • Cortex-M23 processor product page
  • Cortex-M33 processor product page
  • Cortex-M35P processor product page
  • Cortex-M23 and Cortex-M33 - Security foundation for billions of devices
  • Five key features of the ARM Cortex-M23 Processor
  • Five key features of the ARM Cortex-M33 Processor
  • Cortex-M35P: multi-layered security at the heart of your device
  • Security principles for TrustZone for ARMv8-M (Webinar)

For details of Armv8.1-M processors (Cortex-M55, Cortex-M85), please visit:

      https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/cortex-m-resources

Resources for software developers

  • Documents on developer.arm.com

Topics

Document

Introduction

Introduction to the ARMv8‑M Architecture

TrustZone

TrustZone technology for ARMv8‑M Architecture

ARM C Language Extension (ACLE)

ACLE Extensions for ARMv8‑M

Secure software

Secure software guidelines for ARMv8‑M based platforms

System Design 

System Design for ARMv8-M

Exceptions and Interrupts

ARMv8‑M Exception Handling

Fault exception

Fault Handling and Detection

Power management and sleep modes

ARMv8-M processor power management secure state protection

Debug

ARMv8‑M Processor Debug

Memory model, MPU

Armv8-M Memory Model and MPU User Guide (doc, example codes)

MPU

Memory Protection Unit for ARMv8‑M based platforms

OS

RTOS design considerations for ARMv8‑M based platforms

ARMv8-M software development with ARM Compiler 6

Chapter 9 : Building Secure and Non-secure Images Using ARMv8-M Security Extensions

TrustZone software development in Keil MDK

Keil Application Note 291: Using TrustZone on ARMv8-M

Security extension details for compiler vendors

ARMv8-M Security Extension: Requirements on Development Tools (latest)

(v1.1)

ARMv8-M software development

EW2017 - Software Development on ARMv8-M Architecture

mbed(TM)OS deployment on Armv8-M

EW2017 - High-End Security Features for Low-End Microcontrollers

RTOS design

EW2019 - How RTOS should work in a TrustZone for Armv8-M environment

TrustZone Secure software

Stack sealing and why it is needed in TrustZone for Armv8-M

TrustZone Secure software Armv8-M processor Secure software Stack Sealing vulnerability
  • A few intricacies of writing ARMv8-M Secure code
  • Three ARM development tools to help you pioneer the IoT market
  • Security Extensions and Privilege Levels

Resources for silicon designers

  • Enhanced Security and Energy Efficiency of Microcontrollers and SoCs (AHB5 and Q channel introduction)
  • System Design for ARMv8-M
  • ARM AMBA 5 AHB Protocol Specification
  • AMBA APB Protocol Specification
  • AMBA Low Power Interface Specification
  • AMBA 4 ATB Protocol Specification
  • Corstone Foundation IP (Contains CoreLink SSE-200, CoreLink SIE-200 and more).
  • Webinar on secure system design
  • The six things you need to know about ARM CoreLink SSE-200 subsystem & ARM CoreLink SIE-200 system IP
  • CoreLink Interconnect | ARM CoreLink SIE-200 – ARM Developer
  • System Design | CoreLink SSE-200 subsystem – ARM Developer
  • Cortex-M Prototyping System+ (FPGA board)
Whitepaper - ARMv8-M Architecture Technical Overview.pdf
Anonymous
  • Joseph Yiu
    Joseph Yiu over 9 years ago

    Hi,

    XOM is not exactly an architecture feature. But in ARMv8-M we made it easier to handler XOM in software.

    Previously in ARMv6-M, using XOM technique is inefficient for software because MOVW and MOVT are not available. In ARMv8-M these two instructions are available for both Mainline and Baseline, so the same firmware protection techniques can be used.

    The address range for XOM is defined by chip designers.

    regards,

    Joseph

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
  • Yasuhiko Koumoto
    Yasuhiko Koumoto over 9 years ago

    Hello Joseph Yiu,

    thank you for the explanation.

    But It sounds that XOM will be an implementation matter.

    I would like to know the relationship Between XOM and ARMv8-M.

    I think that XOM is one of ARMv8-M features.

    Are there some registers which specify the XOM address range?

    Best regards,

    Yasuhiko Koumoto.

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
  • 42Bastian
    42Bastian over 9 years ago

    For ARMv8-M mainline stack limit feature is available to both Secure and Non-Secure sides.

    Great!

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
  • Joseph Yiu
    Joseph Yiu over 9 years ago

    Hi,

    The XOM technique does not require MPU feature. (Do not confuse it with exeucte never "XN" memory attribute which is configurable by MPU).

    XOM requires the memory interface hardware to ignore data accesses (including debug access). This can be done by filtering out data transfers by checking a bus sideband signal (e.g. HPROT[0] in AHB/AHB5), or in the case for Cortex-M3/M4, connecting XOM only to I-CODE bus.

    regards,

    Joseph

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
  • Joseph Yiu
    Joseph Yiu over 9 years ago

    Hi,

    The ARMv8-M baseline architecture is designed for ultra low power and area constrainted designs, with a certain low power target. As a result the designer has to make some tradeoff between functionalities and the power/area, and therefore the stack limit is omitted from current architecture definition.  You are correct that this function is useful for Non-Secure RTOS as well, so we will revisit this in the future.

    On the Secure side stack limit check is essential to prevent stack overflow which could end up leaking Secure information into Non-Secure world (depending on layout of memory contents).

    For ARMv8-M mainline stack limit feature is available to both Secure and Non-Secure sides.

    regards,

    Joseph

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
<>
Architectures and Processors blog
  • When a barrier does not block: The pitfalls of partial order

    Wathsala Vithanage
    Wathsala Vithanage
    Acquire fences aren’t always enough. See how LDAPR exposed unsafe interleavings and what we did to patch the problem.
    • September 15, 2025
  • Introducing GICv5: Scalable and secure interrupt management for Arm

    Christoffer Dall
    Christoffer Dall
    Introducing Arm GICv5: a scalable, hypervisor-free interrupt controller for modern multi-core systems with improved virtualization and real-time support.
    • April 28, 2025
  • Getting started with AARCHMRS Features.json using Python

    Joh
    Joh
    A high-level introduction to the Arm Architecture Machine Readable Specification (AARCHMRS) Features.json with some examples to interpret and start to work with the available data using Python.
    • April 8, 2025