# ARM Cortex-M

> group of 32-bit RISC processor cores

**Wikidata**: [Q296760](https://www.wikidata.org/wiki/Q296760)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/ARM_Cortex-M)  
**Source**: https://4ort.xyz/entity/arm-cortex-m

## Summary
The ARM Cortex-M is a group of 32-bit RISC processor cores designed primarily for use in microcontrollers. It is classified as a model series and semiconductor intellectual property core that serves as a subclass of the ARM architecture. These cores are utilized in a wide range of microcontrollers, including the STM32 family and the Raspberry Pi Foundation's RP2040.

## Key Facts
- **Classification:** The ARM Cortex-M is a group of 32-bit RISC (Reduced Instruction Set Computing) processor cores.
- **Category:** It is an instance of a "model series" and is subclassed under microcontrollers, semiconductor intellectual property cores, and ARM architecture.
- **Primary Use:** The architecture is used specifically for microcontrollers, which are small computers integrated onto a single circuit.
- **Variants:** The group includes specific core models such as the ARM Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, and Cortex-M7.
- **Implementation:** It serves as the basis for popular microcontroller families, including STMicroelectronics' STM32, the Raspberry Pi Foundation's RP2040 and RP2350, and the Renesas RA family.
- **Official Resource:** Further information is located at `http://www.arm.com/products/processors/cortex-m/index.php/`.
- **Community:** The technology has a dedicated Stack Exchange tag (`cortex-m`) and Wikipedia presence in over 10 languages.

## FAQs
### Q: What exactly is the ARM Cortex-M?
A: The ARM Cortex-M is a group of 32-bit RISC processor cores. It is a semiconductor intellectual property core designed to be used as the processing unit within microcontrollers.

### Q: What devices or families use the ARM Cortex-M architecture?
A: The architecture is used in various microcontroller families, notably the STM32 line by STMicroelectronics, the RP2040 and RP2350 by the Raspberry Pi Foundation, and the Renesas RA family.

### Q: What is the difference between the various Cortex-M models?
A: The group comprises several distinct core models, including the Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, and Cortex-M7. While the source lists them as aliases and specific classes within the group, they represent different iterations or performance tiers of the 32-bit RISC design.

### Q: Is the ARM Cortex-M a physical chip?
A: It is technically a semiconductor intellectual property core. This means it is a design template that manufacturers license to create physical microcontroller chips (such as the STM32 or RP2040) which act as small computers on a single integrated circuit.

## Why It Matters
The ARM Cortex-M architecture is a fundamental building block in modern embedded systems and electronics. By providing a standardized 32-bit RISC processor core, it allows manufacturers like STMicroelectronics and the Raspberry Pi Foundation to create diverse microcontrollers tailored for different applications, from hobbyist electronics to industrial automation.

Its significance lies in its role as a semiconductor intellectual property core; it decouples the processor design from the physical chip manufacturing. This enables rapid development of "small computers on a single integrated circuit" (microcontrollers) that are energy-efficient yet powerful enough to handle complex tasks. The widespread adoption of this architecture is evidenced by its presence in popular platforms like the STM32 and the Raspberry Pi Pico (RP2040), making it a ubiquitous standard in the world of hardware development and the Internet of Things (IoT).

## Notable For
- **Architecture Standard:** Serving as a defining subclass of the ARM architecture specifically optimized for microcontrollers.
- **Broad Industry Adoption:** Being the core processor for major microcontroller families like STM32, Renesas RA, and Raspberry Pi's silicon.
- **RISC Design:** Utilizing a 32-bit Reduced Instruction Set Computing (RISC) architecture for efficient processing.
- **Scalability:** Offering a model series that ranges from the M0 to the M7, catering to different power and performance needs.
- **Accessibility:** Powering the RP2040, a microcontroller widely used in education and hobbyist electronics by the Raspberry Pi Foundation.

## Body
### Technical Classification
The ARM Cortex-M is defined as a group of 32-bit RISC processor cores. In the hierarchy of computing components, it is classified as a **model series** and a **semiconductor intellectual property core**. It falls under the broader umbrella of the **ARM architecture** and is categorized as a type of **microcontroller**.

### Core Models and Variants
The ARM Cortex-M group encompasses several specific processor core models. Identified aliases and classes within this group include:
- **ARM Cortex-M0**
- **ARM Cortex-M1**
- **ARM Cortex-M3**
- **ARM Cortex-M4**
- **ARM Cortex-M7**

### Hardware Implementations
While the Cortex-M is a design core, it is physically realized in numerous commercial microcontroller products. These implementations integrate the Cortex-M core into a complete system on a chip.
- **STM32:** A family of microcontrollers produced by STMicroelectronics based specifically on the ARM Cortex-M.
- **RP2040:** An ARM-architecture microcontroller designed by the Raspberry Pi Foundation.
- **RP2350:** A newer microcontroller by the Raspberry Pi Foundation that features ARM-architecture (alongside RISC-V).
- **Renesas RA:** A family of 32-bit microcontrollers utilizing the ARM Cortex-M.

### Usage and Definition
The primary **use** of the ARM Cortex-M is in **microcontrollers**. A microcontroller is defined in this context as a "small computer on a single integrated circuit." This relationship highlights the Cortex-M's role in enabling compact, integrated computing solutions.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "ARM Cortex-M",
  "description": "A group of 32-bit RISC processor cores used primarily in microcontrollers.",
  "url": "http://www.arm.com/products/processors/cortex-m/index.php/",
  "sameAs": [
    "https://en.wikipedia.org/wiki/ARM_Cortex-M",
    "https://stackoverflow.com/tags/cortex-m"
  ],
  "additionalType": "ModelSeries"
}

## References

1. Freebase Data Dumps. 2013