An Introduction to the ARMV8-M Architecture

The ARMV8-M architecture is the latest ARM microcontroller architecture designed to help developers tackle low cost, deeply embedded systems.

Although a wide range of potential applications exists for the ARMV8-M processors, developers working on secure real-time applications will certainly see the largest benefit. So far, the ARMV8-M architecture can be found in M23 and M33 Cortex-M and M35P processors. Let’s take a look at the new features included in ARMV8-M and how these processors differ from previous generation ARMV7-M parts.

First, it’s useful to see the full spectrum of real-time processors in the Cortex-M series and get a feel for how they compare in performance. The figure below shows how all the Cortex-M processors compare to each other when considering their relative frequency performance. The M23 essentially fits in as a new low-power processor that offers a small improvement over the M0+. The M33 fits in with the high-performance M3/M4 processors, but with improved performance.

The relative frequency performance between the different ARM Cortex-M processors. (Image source: ARM1)

The ARMV8-M feature that really sets the M23, M33, and M35P apart is their support for ARM TrustZone. TrustZone is a security extension that provides hardware isolation within the microcontroller so that developers can create secure and unsecure regions. These regions can be locations in RAM, Flash, or even interrupts and peripherals. The separation between secure and unsecure regions creates isolation within the microcontroller, allowing developers to protect mission-critical code and data.

The isolation creates two new modes that the processor can be running in: secure and unsecure. When in secure mode, the executing code can access all memory within both the secure and unsecure zones. However, if the processor is executing in the unsecure zone, only the unsecure regions can be seen. The secure regions are hidden and cannot be executed from the unsecure state without special code being added, which creates a gateway to access a secure call. This makes it possible to use secure functions while hiding what is happening behind the scenes. 

Isolation between the secure and non-secure states allow developers to include secure applications and libraries in an isolated run-time environment within the processor.
(Image source: ARM)

There are several other new features that developers will find interesting besides the TrustZone extension. These include:

  • Simpler MPU setup
  • Flexible breakpoint configuration
  • Improved trace support
  • Instruction set enhancements
  • Dynamic reprioritization of interrupts

So, when will the first Cortex-M processors come out that support ARMV8-M? It turns out that the first publicly released Cortex-M23 processors are already available. Microchip recently released its SAM L10/L11 Cortex-M23 processors along with the Xplained development boards that include the parts. It’s important to note, though, that the SAM L10 does not include the TrustZone extensions. That honor goes to the SAM L11.

There is certainly a lot more to learn about and investigate under the hood regarding what the ARMV8-M architecture has to offer developers. Personally, I’ve been looking forward to the TrustZone capabilities and the improved security opportunities that it offers developers.

References

  1. https://www.arm.com/products/processors/cortex-m
The Microchip SAML11 development kit is based on the ARMV-8 architecture and supports ARM TrustZone extensions. (Image source: Kei)

    Jacob Beningo is an embedded software consultant who currently works with clients in more than a dozen countries to dramatically transform their businesses by improving product quality, cost, and time to market. He has published more than 200 articles on embedded software development techniques, is a sought-after speaker and technical trainer, and holds three degrees including a Masters of Engineering from the University of Michigan. Feel free to contact him at [email protected], at his website www.beningo.com/, and sign-up for his monthly Embedded Bytes Newsletter.

     

    ESC, Embedded Systems ConferenceToday's Insights. Tomorrow's Technologies.
    ESC returns to Minneapolis, Oct. 31-Nov. 1, 2018, with a fresh, in-depth, two-day educational program designed specifically for the needs of today's embedded systems professionals. With four comprehensive tracks, new technical tutorials, and a host of top engineering talent on stage, you'll get the specialized training you need to create competitive embedded products. Get hands-on in the classroom and speak directly to the engineers and developers who can help you work faster, cheaper, and smarter. Click here to register today!

    Comments (1)

    • Oldest First
    • Newest First
    Loading Comments...