Arm Cortex-M
Arm Cortex-M (in alterer Schreibweise ARM Cortex-M) ist eine Familie von IP-Cores primar fur 32-Bit-Mikrocontroller, die vom Unternehmen ARM entwickelt wird und an verschiedene Hersteller lizenziert wird. Der Kern stellt eine Reduced Instruction Set Computer (RISC) dar, ist ein Teil der ARMv6- bzw. Armv7-Architektur[1] und unterteilt sich in aufsteigender Komplexitat in die Einheiten Cortex-M0,[2] Cortex-M0+,[3] Cortex-M1,[4] Cortex-M3,[5] Cortex-M4[6], Cortex-M7, die auf der Armv8-Architektur basierenden Cortex-M23,[7] und Cortex-M33,[8] sowie die neueren auf Armv8.1-M basierenden Cortex-M55[9] und Cortex-M85.[10]
Allgemeines
[Bearbeiten | Quelltext bearbeiten]ARM Limited stellt selbst keine Mikroprozessoren bzw. Microcontroller her, sondern lizenziert den Kern an Hersteller und Chipproduzenten, sogenannte integrated device manufacturers (IDM), welche den eigentlichen ARM-Kern um eigene und herstellerspezifische Peripherie wie z. B. Controller Area Network (CAN), Local Interconnect Network (LIN), Universal Serial Bus (USB), I2C-Bus, Serial Peripheral Interface (SPI), Serielle Schnittstellen, Ethernet-Schnittstellen, Pulsweitenmodulation-Ausgange, Analog-Digital-Wandler, Universal Asynchronous Receiver Transmitter (UART) und viele weitere erweitern. Diese Einheiten werden uber den Advanced Microcontroller Bus Architecture (AMBA) an den ARM-Kern angeschlossen. ARM Limited bietet fur den Kern verschiedene Lizenzmodelle an, welche sich in den Kosten und Umfang der zur Verfugung gestellten Daten unterscheiden. In allen Fallen wird das Recht gewahrt, eigene Hardware mit ARM-Prozessoren frei vertreiben zu durfen.
Die ,,Arm Cortex-M"-Prozessoren sind fur den Lizenznehmer als IP-Core in der Hardwarebeschreibungssprache Verilog verfugbar und konnen mittels Logiksynthese als digitale Hardwareschaltung abgebildet werden, um dann entweder in Field Programmable Gate Arrays (FPGAs) oder Anwendungsspezifische integrierte Schaltungen (ASICs) eingesetzt zu werden. Je nach Lizenzmodell ist entweder die Verwendung des IP-Core gestattet (IP-Core Lizenz) oder aber es kann eine vollkommen neue, eigene Mikroarchitektur entwickelt werden, die die ISA von ARM implementiert (Architektur-Lizenz). Bei Besitz beider Lizenzen ist auch das Erweitern und Verandern der IP-Cores moglich. Vorteile der Architekturlizenz sind, dass fur Hersteller neben der Integration eigener Peripherie auch andere Erweiterungen wie eigene Maschinenbefehle, Integration spezieller Debugschnittstellen oder aufgrund einer eigenen Architektur eine Optimierung fur einen bestimmten Einsatzzweck (wie beispielsweise Mobilgerate) moglich werden.
Befehlssatz
[Bearbeiten | Quelltext bearbeiten]Die Prozessoren Cortex-M0 und -M1 basieren auf einer ARMv6-M-Architektur,[11] die Cortex-M3 auf einer Armv7-M-Architektur,[12] und die Cortex-M4 sowie Cortex-M7 auf einer Armv7E-M-Architektur.[12] Die Unterschiede betreffen primar den Befehlssatz und die zur Verfugung stehenden Maschinenbefehle. Die Linien sind so festgelegt, dass die binaren Maschinenbefehle aufwarts kompatibel sind, das heisst, ein Maschinenprogramm von einem Cortex-M0 oder M1 ist ohne Veranderung auch auf einem Cortex-M3, -M4 oder -M7 lauffahig. Umgekehrt konnen nicht alle Befehle des Cortex-M3, -M4 oder -M7 auf der Cortex-M0 oder -M1 ausgefuhrt werden.[11][12]
Alle Prozessoren aus der Cortex-M-Familie unterstutzen die Basisbefehle aus dem so genannten Thumb-Befehlssatz, dem Thumb-2-Befehlssatz, und bieten zusatzlich eine Multipliziereinheit in Hardware. M0 und M1 fehlen allerdings im Thumb-Befehlssatz neuere Erweiterungen wie die Befehle CBZ, CBNZ und IT, welche erst in der spater entwickelten Armv7-M-Architektur verfugbar sind. Und der Thumb-2-Befehlssatz ist auf einige wenige Befehle wie BL, DMB, DSB, ISB, MRS und MSR limitiert.[11][12] Die Einschrankungen bei M0 und M1 sind Folge der Vorgabe, die Chipflache moglichst klein zu halten.
Cortex-M3, mit grosserer Chipflache, umfasst den vollstandigen Thumb- und Thumb-2-Befehlssatz, bietet daruber hinaus einige spezielle Instruktionen, eine eigene Divisionseinheit in Hardware und kann mathematische Befehle wie Addition statt mit Uberlauf auch mit Sattigung behandeln, was insbesondere im Bereich der Signalverarbeitung von Bedeutung ist. Cortex-M4 erweitert diese Moglichkeiten um einige spezielle Befehle, wie sie bei digitalen Signalprozessoren (DSP) ublich sind, und bietet optional eine Gleitkommaeinheit fur die Bearbeitung von Gleitkommazahlen nach der Norm IEEE 754 fur einfache Genauigkeit.[11][12] Der Cortex-M7 erweitert die Gleitkommaeinheit fur die Bearbeitung von Gleitkommazahlen fur doppelte Genauigkeit.[13]
| ARM Cortex-M |
Thumb | Thumb-2 | Zyklen Hardware- Multiplizierer |
Hardware- Dividierer |
DSP- Erweite- rung |
Sattigungs- arithmetik |
Gleit- komma- einheit |
Trust Zone |
ARM- Architektur |
|---|---|---|---|---|---|---|---|---|---|
| Cortex-M0 | grossten- teils |
Subset | 1 oder 32 | nein | nein | nein | nein | nein | ARMv6-M[11] |
| Cortex-M1 | 3 oder 33 | nein | nein | nein | nein | nein | ARMv6-M[11] | ||
| Cortex-M3 | komplett | komplett | 1 | ja | nein | teil- weise |
nein | nein | Armv7-M[12] |
| Cortex-M4 | 1 | ja | ja | ja | optional | nein | Armv7E-M[12] | ||
| Cortex-M7 | 1 | ja | ja | ja | optional | nein | Armv7E-M[12] | ||
| Cortex-M23 | 1 oder 32 | ja | nein | nein | nein | ja | Armv8-M Baseline[14] | ||
| Cortex-M33 | 1 | ja | ja | ja | optional | ja | Armv8-M[14] | ||
| Cortex-M55 | ja | ja | 1 | ja | ja | ja | optional | ja | Armv8.1-M[9] |
| Cortex-M85 | ja | ja | 1 | ja | ja | ja | optional | ja | Armv8.1-M[10] |
| Typ | SysTick- Timer |
Bit- Banding |
Speicher- schutz (MPU) |
|---|---|---|---|
| Cortex-M0 | optional | nein | nein |
| Cortex-M1 | optional | nein | nein |
| Cortex-M3 | ja | optional | optional |
| Cortex-M4 | ja | optional | optional |
| Cortex-M7 | ja | optional | optional |
| Cortex-M23 | ja | nein | optional |
| Cortex-M33 | ja | nein | ja |
| Cortex-M55 | ja | nein | ja |
| Cortex-M85 | ja | nein | ja |
Die meisten Cortex-M3 und -M4-Chips bieten Bit-Banding. Dies bedeutet, dass bestimmte Bits im Speicher auf eine eigene Word-Adresse gemappt und dadurch einfacher angesprochen werden konnen. Es ist nicht zu verwechseln mit Bit-Banging. Ob die Funktion aber auf einer konkreten Cortex-M-Implementierung tatsachlich vorhanden ist, sollte im Einzelfall gepruft werden.[15]
Typen
[Bearbeiten | Quelltext bearbeiten]Cortex-M0
[Bearbeiten | Quelltext bearbeiten]Besonderheiten
[Bearbeiten | Quelltext bearbeiten]Besonderheiten des Cortex-M0 sind:
- ARMv6-M-Architektur[11]
- Von-Neumann-Architektur (anders als M3 und M4)[16]
- Wake-Up-Interrupt-Controller[16]
- Befehlssatz
- Thumb - fast vollstandig bis auf CBZ, CBNZ, IT.
- Thumb-2 - Teilmenge bestehend aus BL, DMB, DSB, ISB, MRS, MSR.
- 32-bit-Multipliziereinheit, zur Synthese wahlbar mit einem Zyklus, was eine grossere Chipflache bedingt, oder mit 32 Zyklen und weniger Chipflache.
- 3-stufige Pipeline
Implementierungen
[Bearbeiten | Quelltext bearbeiten]Unter anderem bieten folgende Halbleiterhersteller Cortex-M0 basierende Mikrocontroller an:
- Infineon: XMC1000 Familie
- nuvoTon: NuMicro-Familie
- NXP: LPC11xx- und LPC12xx-Familien
- STMicroelectronics: STM32-F0-Familie
- Toshiba: TX00-Familie
Cortex-M0+
[Bearbeiten | Quelltext bearbeiten]Besonderheiten
[Bearbeiten | Quelltext bearbeiten]Besonderheiten des Cortex-M0+ sind:
- ARMv6-M-Architektur[11]
- Von-Neumann-Architektur (anders als M3 und M4)[17]
- Wake-Up-Interrupt-Controller[17]
- Interrupt-Vektor-Tabellen-Verschiebung ins RAM[17]
- Befehlssatz
- Thumb - fast vollstandig bis auf CBZ, CBNZ, IT.
- Thumb-2 - Teilmenge bestehend aus BL, DMB, DSB, ISB, MRS, MSR.
- 32-bit-Multipliziereinheit, zur Synthese wahlbar mit einem Zyklus, was eine hohere Chipflache bedingt, oder mit 32 Zyklen und weniger Chipflache.
- 2-stufige Pipeline
Implementierungen
[Bearbeiten | Quelltext bearbeiten]Unter anderem bieten folgende Halbleiterhersteller Cortex-M0+ basierende Mikrocontroller an:
- Freescale: Kinetis-KL-Familie
- Microchip/Atmel: SAM-D20/21- und SAM-D10/11-Familie
- NXP: LPC800-Familie
- Renesas: Synergy-Familie (S1)
- Raspberry Pi Foundation: RP2040
- Silicon Laboratories: Zero-Gecko-Familie (EFM32ZG)
- Spansion/Cypress: FM0+-Familie
- STMicroelectronics: STM32L0-, STM32C0- und STM32G0-Familien
- Texas Instruments: MSPM0L-Familie
Cortex-M1
[Bearbeiten | Quelltext bearbeiten]Besonderheiten
[Bearbeiten | Quelltext bearbeiten]Besonderheiten des Cortex-M1 sind:
- ARMv6-M-Architektur[11]
- Befehlssatz
- Thumb - fast vollstandig bis auf CBZ, CBNZ, IT.
- Thumb-2 - Teilmenge bestehend aus BL, DMB, DSB, ISB, MRS, MSR.
- 32-bit-Multipliziereinheit, zur Synthese wahlbar mit einem Zyklus, was eine hohere Chipflache bedingt, oder mit 32 Zyklen und weniger Chipflache.
Implementierungen
[Bearbeiten | Quelltext bearbeiten]Unter anderem bieten folgende Halbleiterhersteller von Field Programmable Gate Array (FPGA) sogenannte Soft-Cores fur ihre Logikbausteine an:
Cortex-M3
[Bearbeiten | Quelltext bearbeiten]Besonderheiten
[Bearbeiten | Quelltext bearbeiten]Besonderheiten des Cortex-M3 sind:[5]
- Armv7-M-Architektur[12]
- Befehlssatz
- vollstandiger Thumb-Befehlssatz
- vollstandiger Thumb-2-Befehlssatz
- 32-bit-Multipliziereinheit mit einem Zyklus, 2 bis 12 Zyklen langer Divisionsbefehl, Mathematische Funktionseinheit mit Uberlauf- oder Sattigungseigenschaft.
- 3-stufige Pipeline mit Sprungvorhersage
- 1 bis 240 physikalische Hardwareinterrupt, eine spezielle Form von Interrupts mit 12 Zyklen Latenz.
- Verschiedenartiger Bereitschaftsbetrieb (Sleep Modes)
- Speicherschutzeinheit (MPU) mit 8 Regionen als Option
- 1,25 DMIPS pro MHz Taktfrequenz
- herstellbar mit 90 nm-Halbleitertechnologie.[18]
- Flache am Chip fur den Kern: 0,12 mm2
Implementierungen
[Bearbeiten | Quelltext bearbeiten]Unter anderem bieten folgende Halbleiterhersteller Cortex-M3 basierende Mikrocontroller an:
- Actel: SmartFusion-Familie
- Microchip/Atmel: SAM3-Familie
- Cypress Semiconductor: PSoC 5
- NXP: LPC13xx, LPC15xx, LPC17xx, LPC18xx Familien
- Silicon Laboratories: Tiny Gecko (EFM32TG), Gecko (EFM32G), Leopard Gecko (EFM32LG) und Giant-Gecko Familien (EFM32GG)
- Spansion/Cypress: FM3 Familie
- STMicroelectronics: STM32 F2, F1, L1, W Familien
- Texas Instruments: Stellaris, TMS470, und einige Prozessoren aus der OMAP4-Familie
- Toshiba: TX03 Familie
Cortex-M4
[Bearbeiten | Quelltext bearbeiten]Besonderheiten
[Bearbeiten | Quelltext bearbeiten]Im Aufbau entspricht der Cortex-M4 einem M3, welcher um spezielle DSP-Befehle und optional eine Gleitkommaeinheit erweitert ist. Cortex-M4 mit Gleitkommaeinheit wird als Cortex-M4F bezeichnet. Besonderheiten des Cortex-M4 sind:[6]
- Armv7E-M Architektur[12]
- Befehlssatz
- vollstandiger Thumb-Befehlssatz
- vollstandiger Thumb-2-Befehlssatz
- 32-bit-Multipliziereinheit mit einem Zyklus, 2 bis 12 Zyklen langer Divisionsbefehl, mathematische Funktionseinheit mit Uberlauf- oder Sattigungseigenschaft.
- DSP-Erweiterungen: 16/32-bit MAC-Befehl mit einem Zyklus, 8/16-Bit SIMD-Arithmetik.
- optionale Gleitkommaeinheit mit der Bezeichnung FPv4-SP, IEEE-754 kompatibel.
- 3-stufige Pipeline mit Sprungvorhersage
- 1 bis 240 physikalische Hardwareinterrupt, eine spezielle Form von Interrupts mit 12 Zyklen Latenz.
- verschiedenartiger Bereitschaftsbetrieb (Sleep Modes)
- Speicherschutzeinheit (MPU) mit 8 Regionen als Option
- 1,25 DMIPS pro MHz Taktfrequenz (1,27 DMIPS / MHz mit FPU)
Implementierungen
[Bearbeiten | Quelltext bearbeiten]Unter anderem bieten folgende Halbleiterhersteller Cortex-M4 basierende Mikrocontroller an:
- Microchip/Atmel: SAM4-Familie (Cortex-M4)
- Infineon: XMC4000-Familie (Cortex-M4F)
- NXP: Kinetis-Familie (Cortex-M4 und Cortex-M4F), LPC40xx- und LPC43xx-Familien (Cortex-M4)
- Renesas: Synergy-Familie (S3, S5 und S7), RA-Familie (RA4 und RA6)
- Silicon Laboratories: Pearl-Gecko-Familie (EFM32PG, Cortex-M4) und Wonder Gecko Familie (EFM32WG, Cortex-M4F)
- Spansion/Cypress: FM4-Familie (Cortex-M4F)
- STMicroelectronics: STM32-F4, L4-, F3-, G4-Familien (Cortex-M4F)
- Texas Instruments: Stellaris-LM4F- und Tiva-TM4C-Familie (Cortex-M4F)
- Toshiba: TX04-Familie (Cortex-M4F)
Cortex-M7
[Bearbeiten | Quelltext bearbeiten]Besonderheiten
[Bearbeiten | Quelltext bearbeiten]Im Vergleich zum Cortex-M4 wurde der M7 mit einer langeren Dual-Issue-Pipeline fur hohere Taktfrequenzen, einem neu konzipierten Speichersystem u. a. mit L1-Caches und TCMs, einer Verdoppelung der DSP-Performance gegenuber dem M4 und einem optionalen Lockstep ausgestattet. Besonderheiten des Cortex-M7 sind:[13]
- Armv7E-M Architektur[12]
- Befehlssatz
- vollstandiger Thumb-Befehlssatz
- vollstandiger Thumb-2-Befehlssatz
- L1-Caches fur Befehle und Daten von jeweils 4-64 kB
- TCM fur Befehle und Daten jeweils 0-16 MB
- insgesamt 6 Speicherschnittstellen, davon 2 x 64 bit und 4 x 32 bit
- 32-bit-Multipliziereinheit mit einem Zyklus, 2 bis 12 Zyklen langer Divisionsbefehl, mathematische Funktionseinheit mit Uberlauf- oder Sattigungseigenschaft.
- DSP-Erweiterungen: 16/32-bit MAC-Befehl mit einem Zyklus, 8/16-Bit SIMD-Arithmetik.
- Gleitkommaeinheit mit der Bezeichnung FPv5, IEEE-754 kompatibel, mit Instruktionen fur einfache Genauigkeit (32 Register a 32 bit) oder optional, je nach Implementierung, auch doppelte Genauigkeit (16 Register a 64 bit).[19]
- 6-stufige Dual-Issue-Pipeline mit Sprungvorhersage
- 1 bis 240 physikalische Hardwareinterrupt, eine spezielle Form von Interrupts mit 11-12 Zyklen Latenz.
- verschiedenartiger Bereitschaftsbetrieb (Sleep Modes)
- Speicherschutzeinheit (MPU) mit 8 oder 16 Regionen als Option[20]
- optional Lockstep mit zwei unabhangig arbeitenden Cores
- maximale Taktfrequenz 1 GHz
- 2,14 DMIPS pro MHz Taktfrequenz
Implementierungen
[Bearbeiten | Quelltext bearbeiten]Bislang bieten nur wenige Hersteller Cortex-M7 basierende Mikrocontroller an:
- Microchip/Atmel: SAM S-, E- und V-Serie[21]
- STMicroelectronics: STM32-F7 und H7 Familien[22]
- NXP: Kinetis V Series[23], i.MX RT Series
- PJRC: Teensy 4/4.1
- Cypress: Traveo II[24]
Cortex-M55
[Bearbeiten | Quelltext bearbeiten]Der Cortex-M55 basiert auf der Armv8.1-M-Architektur und ist der erste Cortex-M-Prozessor mit Unterstutzung fur die Helium-Technologie (M-Profile Vector Extension, MVE).[9] Besonderheiten des Cortex-M55 sind:
- Armv8.1-M Architektur mit optionaler Helium-Vektorarchitektur (SIMD, bis 128 Bit Vektorbreite)
- Verbesserte DSP- und ML-Performance gegenuber Cortex-M33 und M7
- Unterstutzung fur TrustZone-Technologie
- optionale Gleitkommaeinheit (FPv5) fur einfache und doppelte Genauigkeit
- Unterstutzung fur Pointer Authentication zur Erhohung der Systemsicherheit
Implementierungen: Erste kommerzielle Produkte mit Cortex-M55 wurden ab 2021 angekundigt, u. a. in sicherheitskritischen Anwendungen, IoT-Geraten sowie im Bereich Edge Computing.
Cortex-M85
[Bearbeiten | Quelltext bearbeiten]Der Cortex-M85 ist der leistungsfahigste Vertreter der Cortex-M-Familie und wurde 2022 vorgestellt.[10] Besonderheiten des Cortex-M85 sind:
- Armv8.1-M Architektur
- Unterstutzung der Helium-Vektorarchitektur (MVE) fur DSP- und ML-Beschleunigung
- Deutlich hohere Rechenleistung (uber 6 CoreMark/MHz) im Vergleich zu fruheren Cortex-M-Cores
- Verbesserte Sicherheitsmerkmale einschliesslich Pointer Authentication und Memory Tagging
- TrustZone-Unterstutzung
- Optionale FPv5-Gleitkommaeinheit fur einfache und doppelte Genauigkeit
Implementierungen: Der Cortex-M85 ist fur High-End-Mikrocontroller, Echtzeitsteuerungen und ML-Anwendungen am Rand von IoT- und Embedded-Systemen vorgesehen.
Entwicklungswerkzeuge
[Bearbeiten | Quelltext bearbeiten]Als integrierte Entwicklungsumgebungen steht unter anderen die GNU Toolchain mit Eclipse zur Verfugung. Daneben gibt es noch verschiedene kommerzielle Angebote beispielsweise von IAR oder Keil. Als Betriebssysteme konnen unter anderem Echtzeitbetriebssysteme wie embOS,[25] FreeRTOS, OpenRTOS, SafeRTOS oder SCIOPTA[26] verwendet werden. Auf Prozessoren mit externem Speicherinterface ist es auch moglich, uClinux auszufuhren. Als Debugger fur die JTAG-Schnittstelle sind unter anderem der GNU Debugger in Verbindung mit OpenOCD fur die Hardwareanbindung verfugbar.
Die Dokumentation ist sehr umfangreich. Insbesondere sind die Kernfunktionen der Cortex-M-Familie in den Unterlagen von ARM beschrieben und fur alle Implementierungen identisch. Die diversen konkreten Hardwareimplementierungen und herstellerspezifische Erweiterungen sind hingegen in den jeweiligen Herstellerunterlagen beschrieben.
Literatur
[Bearbeiten | Quelltext bearbeiten]- Joseph Yiu: The Definitive Guide to the ARM Cortex-M0. 2. Auflage. Newnes, 2011, ISBN 978-0-12-385477-3, S. 552.
- Joseph Yiu: The Definitive Guide to the ARM Cortex-M3. 2. Auflage. Newnes, 2009, ISBN 978-1-85617-963-8, S. 479.
Siehe auch
[Bearbeiten | Quelltext bearbeiten]Weblinks
[Bearbeiten | Quelltext bearbeiten]- ARM Cortex-M Website
- Quick Reference Cards fur die Befehlssatze: Thumb (PDF; 127 kB), ARM and Thumb-2 (PDF; 226 kB), Vector Floating Point (PDF; 99 kB)
| Cortex-M-Serie | ARM-Website | ARM-Core | Arm-Architektur |
|---|---|---|---|
| M0 | M0 | Cortex(tm)-M0 Revision: r0p0 - Technical Reference Manual (PDF; 472 kB) | ARMv6-M |
| M0+ | M0+ | Cortex-M0+ Revision: r0p1 Technical Reference Manual (PDF; 427 kB) | ARMv6-M |
| M1 | M1 | Cortex(tm)-M1 Revision: r1p0 - Technical Reference Manual (PDF; 943 kB) | ARMv6-M |
| M3 | M3 | Cortex(tm)-M3 Revision: r2p1 - Technical Reference Manual (PDF; 889 kB) Cortex(tm)-M3 Revision: r1p1 - Technical Reference Manual (PDF; 2,1 MB) |
Armv7-M |
| M4 | M4 | Cortex(r)-M4 Revision: r0p1 - Technical Reference Manual (PDF; 813 kB) Cortex(tm)-M4 Technical Reference Manual ARM DDI 0439B Errata 01 (PDF; 121 kB) |
Armv7E-M |
| M7 | M7 | ||
| M55 | M55 | Cortex-M55 Technical Reference Manual | Armv8.1-M |
| M85 | M85 | Cortex-M85 Technical Reference Manual | Armv8.1-M |
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- | Cortex-M0, -M0+ und -M1 zahlen zur ARMv6-Architektur und Cortex-M3 und -M4 zur Armv7-Architektur.
- | Cortex-M0 m0 r0p0 Technical Reference Manual; ARM Holdings. (PDF; 461 kB)
- | Cortex-M0+ m0p r0p0 Technical Reference Manual; ARM Holdings. (PDF; 417 kB)
- | Cortex-M1 m1 r1p0 Technical Reference Manual; ARM Holdings. (PDF; 943 kB)
- | a b Cortex-M3 m3 r2p0 Technical Reference Manual; ARM Holdings. (PDF; 2,4 MB)
- | a b Cortex-M4 m4 r0p1 Technical Reference Manual; ARM Holdings. (PDF; 914 kB)
- | Cortex-M23. Abgerufen am 2. Marz 2018.
- | Cortex-M33. Abgerufen am 2. Marz 2018.
- | a b c Arm Cortex-M55 Processor. Abgerufen am 29. August 2023.
- | a b c Arm Cortex-M85 Processor. Abgerufen am 29. August 2023.
- | a b c d e f g h i j ARMv6-M Architecture Reference Manual; ARM Holdings.
- | a b c d e f g h i j k l ARMv7-M Architecture Reference Manual; ARM Holdings.
- | a b ARMs Cortex-M7 - der Schlussel zu sicherheitskritischen Anwendungen? Frank Riemenschneider, elektroniknet.de, abgerufen am 24. September 2014.
- | a b ARMv8-M Architecture Reference Manual, Ausgabe A.d. Abgerufen am 3. Marz 2018.
- | Cortex-M3 Embedded Software Development; App Note 179; ARM Holdings. (PDF; 179 kB)
- | a b ARMs Mini-Core soll MCU-Markt neu definieren. Frank Riemenschneider, elektroniknet.de, archiviert vom Original am 25. Juni 2020; abgerufen am 27. Mai 2010. Info: Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft. Bitte prufe Original- und Archivlink gemass Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.elektroniknet.de
- | a b c ARM stellt kleinsten 32-bit-Core aller Zeiten vor. Frank Riemenschneider, elektroniknet.de, archiviert vom Original am 8. Januar 2017; abgerufen am 13. Marz 2013. Info: Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft. Bitte prufe Original- und Archivlink gemass Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.elektroniknet.de
- | Arm Cortex-M3 Specifications, ARM Holdings, engl.
- | ARM Information Center. Abgerufen am 24. Februar 2017.
- | Arm Cortex-M7 Devices Generic User Guide: 4.6.1. MPU Type Register. In: infocenter.arm.com. Abgerufen am 30. September 2016.
- | atmel.com
- | st.com
- | Kinetis(r) V Series: Real-time Motor Control & Power Conversion MCUs based on Arm(r) Cortex(r)-M0+/M4/M7|NXP. Abgerufen am 25. Januar 2018.
- | Cypress Traveo(tm) II 32-bit Arm Automotive Microcontrollers (MCUs). Abgerufen am 13. Juni 2021.
- | segger.com RTOS.
- | sciopta.com RTOS; IEC61508.