Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Tools, Software and IDEs blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
Architectures and Processors blog White Paper: Cortex-M for Beginners - An overview of the Arm Cortex-M processor family and comparison
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

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

White Paper: Cortex-M for Beginners - An overview of the Arm Cortex-M processor family and comparison

Ping Zuo 左平
Ping Zuo 左平
September 13, 2016
Less than one minute read time.

by Joseph Yiu

Abstract

The Arm Cortex-M family now has five processors. In this paper, we compare the features of various Cortex-M processors and highlight considerations for selecting the correct processor for your application. The paper includes detailed comparisons of the Cortex-M instruction sets and advanced interrupt capabilities, along with system-level features, debug and trace features, and performance comparisons.

Update 21 June 2017

Since writing this block we have announced further additions to the Cortex family, Cortex-M23 and Cortex-M33, and updated the document. The latest version is available here: Cortex-M for Beginners - An overview of the Arm Cortex-M processor family and comparison (2017).

Arm Cortex-M23 and Cortex-M33 are the first embedded processors using  the Armv8-M architecture, bringing the proven secure foundation of Arm TrustZone to the most constrained IoT nodes.

Download the White Paper - Cortex-M for Beginners

White Paper - Cortex-M for Beginners - 2016 (final v3).pdf
Anonymous
Parents
  • Carlos Delfino
    Offline Carlos Delfino over 6 years ago

    Cortex-M devices have only 240 (ie 0-239) vectors interruptions, each with 256 priority levels (0 to 255).

    see this section "4.2. Nested Vectored Interrupt Controller" in the Cortex-M4 Devices Generic User Guide, the other Cortex-M series are equal.

    I do not know the answer why the NVIC only handles interrupts and exceptions between 0 and 239 and really ignores the other 240-255, these values are used internally?

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Comment
  • Carlos Delfino
    Offline Carlos Delfino over 6 years ago

    Cortex-M devices have only 240 (ie 0-239) vectors interruptions, each with 256 priority levels (0 to 255).

    see this section "4.2. Nested Vectored Interrupt Controller" in the Cortex-M4 Devices Generic User Guide, the other Cortex-M series are equal.

    I do not know the answer why the NVIC only handles interrupts and exceptions between 0 and 239 and really ignores the other 240-255, these values are used internally?

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Children
No Data
Architectures and Processors blog
  • How Arm is making it easier to build platforms that support Confidential Computing

    Mark Knight
    Mark Knight
    With new open-source patches for the Realm Management Extension (RME) now available, this blog explores latest developments and techniques for confidential computing on Arm.
    • April 28, 2023
  • Apache Arrow optimization on Arm

    Yibo Cai
    Yibo Cai
    This blog introduces Arm optimization practices with two solid examples from Apache Arrow project.
    • February 23, 2023
  • Optimizing TIFF image processing using AARCH64 (64-bit) Neon

    Ramin Zaghi
    Ramin Zaghi
    This guest blog shows how 64-bit Neon technology can be used to improve performance in image processing applications.
    • October 13, 2022