Es ist interessant! Ich habe nach einem klaren Artikel gesucht, konnte aber keinen klaren Artikel dafür finden. Ich habe auch diesen Link gefunden: ARM Cortex-R und diesen Link: Cortex-R-Serie , aber sie sind nicht genau klar. auf 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, Hochverfügbarkeit, Fehlertoleranz, Wartbarkeit und Echtzeitreaktionen erforderlich sind.
und diese:
Für Nummer eins: Zum Beispiel hat NXP für den Cortex-M 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 , es ist lustig, weil er 180 MHz hat Taktfrequenz.
Zu Nummer zwei: Es ist klar.
Zu Nummer drei: Es ist nicht klar! was soll dieser satz bedeuten Ist der Cortex-M nicht sicher/zuverlässig?
Zu Nummer fünf: Nun, ich denke, es ist nur eine Behauptung!
Wer hat die Erfahrung mit dieser Serie (Cortex-R) zu arbeiten? Was ist deine Meinung dazu? Was ist der tiefe und genaue Unterschied zwischen der Cortex-M-Serie und der Cortex-R-Serie?
Komisch, ich benutze beides 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 eingebetteten Anwendungen ist.
Der R4 ist jedoch ein ganz anderes Biest - zumindest die Version von Texas Instruments, die ich verwende: der RM42, ähnlich dem TMS570. Der RM42 ist ein Cortex-R4 mit zwei Kernen, die aus Redundanzgründen im "Lock-Step" laufen, was bedeutet, dass ein Kern dem anderen zwei Anweisungen voraus ist und für einige Fehlerprüfungen und -korrekturen verwendet wird. Außerdem ist einer der Kerne (physisch) gespiegelt/umgedreht und um 90 Grad gedreht, um die Strahlungs-/Rauschbeständigkeit zu verbessern :)
Der RM42 läuft mit einer höheren Taktrate als der STM32 (100 MHz gegenüber 72 MHz) und hat einen etwas anderen Befehlssatz und führt einige der Befehle schneller aus als der M3 (z. B. werden Divisionsbefehle in einem Zyklus auf dem R4 ausgeführt, nicht sicher, ob dies der Fall ist). M3).
HW-Timer sind im Vergleich zu Cortex-M3 SEHR präzise. Normalerweise brauchen wir einen statischen Offset, um die Drift auf den M3s zu korrigieren - nicht so mit dem R4 :)
Wo ich einen Cortex-M3 als Mehrzweck-MCU bezeichnen würde, würde ich den Cortex-R4 als komplexe Echtzeit-/Sicherheits-MCU bezeichnen. Wenn ich mich nicht irre, ist der RM42 SIL3-konform...
IMO ist der R4 ein großer Schritt in der Komplexität, selbst 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 hat 9 Steuer- und Statusregister auf dem STM32, während das RM42 42 hat. So ist es mit allen Peripheriegeräten :)
BEARBEITEN:
Für das, was es wert ist, ist der Cortex-R4 @ 100MHz in meinen Anwendungsfällen normalerweise 50-100% schneller als der Cortex-M3 @ 72MHz, wenn er genau die gleichen Aufgaben ausführt. Vielleicht, weil der R4 Daten- und Befehls-Caches hat?
Ein weiterer Vergleich: Ein paar 1000 Zeilen C- und ASM-Code werden auf dem RM42 beim Zurücksetzen ausgeführt, bevor der Aufruf main()
mit der Teilmenge der Sicherheitsfunktionen erreicht wird, die ich derzeit verwende: D und nicht periphere Initialisierung oder irgendetwas, nur Start und Selbsttest (CPU , RAM, Flash ECC usw.).
D cache
and I cache
Instruction Cache handelt.ARM Cortex-R-Familie (v7-R)
ARM Cortex-M-Familie (v7-M)
Haben Sie einen guten Artikel über hier .
Die Cortex-R- und Cortex-M-Serien sind auf unterschiedliche Anforderungen und für unterschiedliche Anwendungen ausgerichtet. Es ist wichtig, die Parameter und Merkmale zu kennen, die sie voneinander trennen, da es Anwendungen geben könnte, in die beide passen könnten. Dieses Dokument ist auf ein solches Szenario ausgerichtet und hilft den Designern bei der Auswahl. Das Endziel besteht darin, den Designern oder Entwicklern zu helfen, die Architekturen von ARM zu verstehen.
Scott Seidman
user_1818839
Roh
Paul A. Clayton