Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 9 submissions in the queue.

Submission Preview

Link to Story

An Introduction To The Armv8-M Architecture

Accepted submission by Arthur T Knackerbracket at 2018-08-09 09:20:13
Hardware

COLLECTED BY Arthur T Knackerbracket aka 'The StoryBot' - NEEDS EDITING

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 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. 

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.


Original Submission