Es ist interessant! Ich habe nach einem klaren Artikel gesucht, aber ich konnte keinen klaren Artikel dafür finden. Auch ich fand diesen Link: ARM Cortex-R und diesen Link: Cortex-R-Serie, aber sie sind nicht genau klar. in der wiki seite schrieb:
Die Kerne sind für den robusten Echtzeiteinsatz vorgesehen
und auf der Cortex-R Seite schrieb:
Die ARM Cortex®-R-Echtzeitprozessoren bieten Hochleistungs-Computing-Lösungen für eingebettete Systeme, bei denen Zuverlässigkeit, hohe Verfügbarkeit, Fehlertoleranz, Wartbarkeit und Echtzeitreaktionen erforderlich sind.
und diese:
- Hohe Leistung: Schnelle Verarbeitung bei hoher Taktfrequenz
- Echtzeit: Die Verarbeitung erfüllt bei allen Gelegenheiten harte Echtzeitanforderungen
- Sicher: Zuverlässige und zuverlässige Systeme mit hoher Fehlerresistenz
- Kostengünstig: Merkmale für optimale Leistung, Leistung und Fläche
Für Nummer eins: Zum Beispiel für den Cortex-M hat der NXP kürzlich die NXP_LPC4XXX-Serie mit einer Taktrate von 200 MHz hergestellt, und für den Cortex-R können Sie Folgendes sehen: TMS570LS ARM Cortex ™ -R4-Mikrocontroller , lustig, weil er 180 MHz hat Taktfrequenz.
Für Nummer zwei: Es ist klar.
Für Nummer drei: Es ist nicht klar! Was bedeutet dieser Satz? Bedeutet das, dass Cortex-M nicht sicher / zuverlässig ist?
Zu Nummer fünf: Nun, ich denke, es ist nur ein Claim!
Wer hat die Erfahrung, mit dieser Serie (Cortex-R) zu arbeiten? Was ist deine Meinung dazu? Was ist der tiefgreifende und genaue Unterschied zwischen der Cortex-M-Serie und der Cortex-R-Serie?
Antworten:
Komisch, ich benutze beide bei der Arbeit :)
Der Cortex-M3 (wir verwenden STM32s) ist eine Allzweck-MCU, die schnell und groß (Flash-Speicher) genug für die meisten komplexen Embedded-Anwendungen ist.
Der R4 ist jedoch ein ganz anderes Biest - zumindest die von mir verwendete Version von Texas Instruments: der RM42, ähnlich dem TMS570. Der RM42 ist ein Cortex-R4 mit zwei Kernen, die aus Redundanzgründen im "Lock-Step" -Verfahren ausgeführt werden. Dies bedeutet, dass ein Kern zwei Anweisungen vor dem anderen liegt und für einige Fehlerprüfungen und -korrekturen verwendet wird. Außerdem ist einer der Kerne (physisch) gespiegelt und um 90 Grad gedreht, um die Strahlungs- / Rauschresistenz zu verbessern :)
Der RM42 läuft mit einer höheren Taktrate als der STM32 (100MHz gegenüber 72MHz) und verfügt über einen etwas anderen Befehlssatz. Einige Befehle werden schneller ausgeführt als der M3 (z. B. Divisionsbefehle werden in einem Zyklus auf dem R4 ausgeführt, nicht sicher, ob sie ausgeführt werden) M3).
HW-Timer sind im Vergleich zu Cortex-M3 SEHR genau. Normalerweise benötigen wir einen statischen Offset, um die Drift auf den M3s zu korrigieren - nicht so beim R4 :)
Wo ich eine Cortex-M3 als Allzweck-MCU bezeichnen würde, würde ich die Cortex-R4 als komplexe Echtzeit- / Sicherheits-MCU bezeichnen. Wenn ich mich nicht irre, ist der RM42 SIL3-konform ...
IMO the R4 ist ein großer Komplexitätssprung, auch wenn Sie nicht vorhaben, die Echtzeit- / Sicherheitsfunktionen tatsächlich zu nutzen.
Ein wirklich schönes Beispiel für den Komplexitätsunterschied: Das SPI-Peripheriegerät verfügt über 9 Steuer- und Statusregister auf dem STM32, während das RM42 über 42 verfügt. So ist es mit allen Peripheriegeräten :)
BEARBEITEN:
In meinen Anwendungsfällen ist der Cortex-R4 bei 100 MHz normalerweise 50 bis 100% schneller als der Cortex-M3 bei 72 MHz, wenn genau dieselben Aufgaben ausgeführt werden. Vielleicht weil der R4 Daten- und Anweisungs-Caches hat?
Ein weiterer Vergleich: Einige 1000 Zeilen C- und ASM-Code werden beim Zurücksetzen ausgeführt, bevor der Aufruf
main()
mit der Untergruppe der Sicherheitsfunktionen erfolgt, die ich derzeit verwende: D und nicht die Peripherie-Initialisierung oder etwas anderes, nur Start und Selbsttest (CPU, RAM, Flash ECC usw.).Diese Seite enthält weitere Details
quelle
D cache
undI cache
war Abkürzungen für Daten- und Anweisungs-Cache.ARM Cortex-R-Familie (v7-R)
ARM Cortex-M-Familie (v7-M)
quelle
Hab einen guten Artikel über hier .
Die Cortex-R- und Cortex-M-Serien richten sich an unterschiedliche Anforderungen und Anwendungen. Es ist wichtig, die Parameter und Funktionen zu kennen, die sie voneinander trennen, da es Anwendungen geben kann, in die beide passen. Dieses Dokument richtet sich an ein solches Szenario und hilft den Designern bei der Auswahl. Das letzte Ziel besteht darin, den Designern oder Entwicklern zu helfen, die Architekturen von ARM besser zu verstehen.
quelle