¡Es interesante! Busqué encontrar un artículo claro, pero no pude encontrar un artículo claro para esto. También encontré este enlace: ARM Cortex-R y este enlace: Serie Cortex-R pero no son exactamente claros. en la página wiki escribió:
Los núcleos están destinados a un uso robusto en tiempo real
y en la página de Cortex-R escribió:
Los procesadores en tiempo real ARM Cortex®-R ofrecen soluciones informáticas de alto rendimiento para sistemas integrados donde se requiere confiabilidad, alta disponibilidad, tolerancia a fallas, capacidad de mantenimiento y respuestas en tiempo real.
y estos:
Para el número uno: Por ejemplo, para el Cortex-M, recientemente NXP hizo la serie NXP_LPC4XXX que tiene una velocidad de reloj de 200Mhz y para el Cortex-R, puede ver esto: Microcontroladores TMS570LS ARM Cortex™-R4 , es gracioso porque tiene 180Mhz velocidad de reloj.
Para el número dos: Está claro.
Para el número tres: ¡No está claro! ¿Qué significa esta oración? significa que el Cortex-M no es seguro/confiable?
Para el número cinco: ¡Bueno, creo que solo es un reclamo!
¿Quién tiene la experiencia para trabajar con esta serie (Cortex-R)? ¿Cuál es tu opinión al respecto? ¿Cuál es la diferencia profunda y exacta entre la serie Cortex-M y la serie Cortex-R?
Divertido, uso ambos en el trabajo :)
El Cortex-M3 (usamos STM32s) es un MCU de propósito general que es lo suficientemente rápido y grande (almacenamiento flash) para las aplicaciones integradas más complejas.
Sin embargo, el R4 es una bestia completamente diferente, al menos la versión de Texas Instruments que uso: el RM42, similar al TMS570. El RM42 es un Cortex-R4 con dos núcleos que se ejecutan en "paso de bloqueo" para redundancia, lo que significa que un núcleo está 2 instrucciones por delante del otro y se usa para verificar y corregir algunos errores. Además, uno de los núcleos está (físicamente) reflejado/volteado y girado 90 grados para mejorar la resistencia a la radiación/ruido :)
El RM42 funciona a una velocidad de reloj más alta que el STM32 (100 MHz frente a 72 MHz) y tiene un conjunto de instrucciones ligeramente diferente y ejecuta algunas de las instrucciones más rápido que el M3 (por ejemplo, las instrucciones de división se ejecutan en un ciclo en el R4, no estoy seguro de que lo hagan en M3).
Los temporizadores HW son MUY precisos en comparación con Cortex-M3. Por lo general, necesitamos un desplazamiento estático para corregir la deriva en los M3, no es así con el R4 :)
Donde llamaría a Cortex-M3 una MCU de propósito general, llamaría a Cortex-R4 una MCU compleja en tiempo real/seguridad. Si no me equivoco, el RM42 es compatible con SIL3...
En mi opinión, el R4 es un gran paso adelante en complejidad, incluso si no está planeando usar las funciones de seguridad/en tiempo real.
Un muy buen ejemplo de la diferencia de complejidad: el periférico SPI tiene 9 registros de control y estado en el STM32, mientras que el RM42 tiene 42. Es así con todos los periféricos :)
EDITAR:
Si sirve de algo, en mis casos de uso, el Cortex-R4 a 100 MHz suele ser entre un 50 y un 100 % más rápido que el Cortex-M3 a 72 MHz cuando realiza exactamente las mismas tareas. ¿Quizás porque el R4 tiene cachés de datos e instrucciones?
Otra comparación, se ejecutan unas 1000 líneas de código C y ASM en el RM42 en el reinicio antes de llegar a la llamada main()
con el subconjunto de las funciones de seguridad que uso actualmente: D y no inicialización periférica ni nada, solo inicio y autocomprobación (CPU , RAM, Flash ECC, etc.).
D cache
y I cache
eran abreviaturas de caché de datos e instrucciones.Familia ARM Cortex-R (v7-R)
Familia ARM Cortex-M (v7-M)
Tiene un buen artículo sobre aquí .
Las series Cortex-R y cortex-M están destinadas a diferentes requisitos y para diferentes aplicaciones. Es importante conocer los parámetros y las características que los separan, ya que podría haber aplicaciones en las que ambos puedan encajar. Este documento está dirigido a tal escenario y ayuda a los diseñadores en la selección. El objetivo final es ayudar a los Diseñadores o Desarrolladores a comprender las Arquitecturas de ARM.
scott seidman
usuario_1818839
Roh
Pablo A. Clayton