C'est intéressant! J'ai cherché un article clair, mais je n'ai pas trouvé d'article clair pour cela. J'ai également trouvé ce lien: ARM Cortex-R et ce lien: Cortex-R Series mais ils ne sont pas exactement clairs. dans la page wiki a écrit:
Les cœurs sont destinés à une utilisation robuste en temps réel
et dans la page de Cortex-R a écrit:
Les processeurs en temps réel ARM Cortex®-R offrent des solutions informatiques hautes performances pour les systèmes embarqués nécessitant fiabilité, haute disponibilité, tolérance aux pannes, maintenabilité et réponses en temps réel.
et ceux-ci:
- Haute performance: traitement rapide combiné à une fréquence d'horloge élevée
- Temps réel: le traitement répond à toutes les occasions en temps réel
- Sûr: systèmes fiables et fiables à haute résistance aux erreurs
- Rentable: fonctionnalités optimales pour les performances, la puissance et la surface
Pour le numéro un: par exemple pour le Cortex-M, récemment le NXP a fabriqué la série NXP_LPC4XXX qui a une fréquence d'horloge de 200Mhz et pour le Cortex-R, vous pouvez voir ceci: TMS570LS ARM Cortex ™ -R4 Microcontrôleurs , c'est drôle parce qu'il a 180Mhz fréquence d'horloge.
Pour le numéro deux: c'est clair.
Pour le numéro trois: ce n'est pas clair! quel est le sens de cette phrase? signifie que le Cortex-M n'est pas sûr / fiable?
Pour le numéro cinq: Eh bien, je pense que c'est juste une revendication!
Qui a l'expérience pour travailler avec cette série (Cortex-R)? Quelle est votre opinion à ce sujet? Quelle est la différence profonde et exacte entre la série Cortex-M et la série Cortex-R?
Réponses:
Drôle, j'utilise les deux au travail :)
Le Cortex-M3 (nous utilisons des STM32) est un microcontrôleur général qui est suffisamment rapide et volumineux (stockage flash) pour la plupart des applications embarquées complexes.
Cependant, le R4 est une bête complètement différente - au moins la version de Texas Instruments que j'utilise: le RM42, similaire au TMS570. Le RM42 est un Cortex-R4 avec deux cœurs fonctionnant en «étape de verrouillage» pour la redondance, ce qui signifie qu'un cœur a 2 instructions d'avance sur l'autre et est utilisé pour certains contrôles et corrections d'erreurs. De plus, l'un des cœurs est (physiquement) mis en miroir / retourné et tourné à 90 degrés pour améliorer la résistance au rayonnement / au bruit :)
Le RM42 fonctionne à une vitesse d'horloge plus élevée que le STM32 (100 MHz vs 72 MHz) et possède un jeu d'instructions légèrement différent et exécute certaines des instructions plus rapidement que le M3 (par exemple, les instructions de division s'exécutent en un cycle sur le R4, pas sûr qu'elles le fassent sur M3).
Les minuteries HW sont TRÈS précises par rapport au Cortex-M3. Habituellement, nous avons besoin d'un décalage statique pour corriger la dérive sur les M3 - ce n'est pas le cas avec le R4 :)
Là où j'appellerais un Cortex-M3 un MCU à usage général, j'appellerais le Cortex-R4 un MCU complexe temps réel / sécurité. Si je ne me trompe pas, le RM42 est compatible SIL3 ...
IMO le R4 est un grand pas en avant dans la complexité même si vous ne prévoyez pas réellement d'utiliser les fonctionnalités de sécurité / temps réel.
Un très bel exemple de la différence de complexité: le périphérique SPI a 9 registres de contrôle et d'état sur le STM32 alors que le RM42 en a 42. C'est comme ça avec tous les périphériques :)
MODIFIER:
Pour ce que ça vaut, dans mes cas d'utilisation, le Cortex-R4 @ 100MHz est généralement 50-100% plus rapide que le Cortex-M3 @ 72MHz lors de l'exécution des mêmes tâches. Peut-être parce que le R4 a des caches de données et d'instructions?
Autre comparaison, quelques 1000 lignes de code C et ASM sont exécutées lors de la réinitialisation avant d'atteindre l'appel à
main()
avec le sous-ensemble des fonctionnalités de sécurité que j'utilise actuellement: D et non l'initialisation périphérique ou quoi que ce soit, juste le démarrage et l'autotest (CPU, RAM, Flash ECC, etc.).Cette page a plus de détails
la source
D cache
etI cache
étaient des abréviations pour le cache de données et d'instructions.Famille ARM Cortex-R (v7-R)
Famille ARM Cortex-M (v7-M)
la source
Ayez un bon article ici .
Les séries Cortex-R et cortex-M sont ciblées pour différentes exigences et pour différentes applications. Il est important de connaître les paramètres et les caractéristiques qui les séparent, car il pourrait y avoir des applications dans lesquelles les deux peuvent s'intégrer. Ce document est destiné à un tel scénario et aide les concepteurs à sélectionner. L'objectif final est d'aider les concepteurs ou les développeurs à comprendre les architectures d'ARM.
la source