Este documento asume la familiaridad con los procesadores ARM946E-S o ARM1156T2(F)-S y la arquitectura ARMv5TE. También se supone que está familiarizado con la programación en C y en ensamblador. Describe los problemas relacionados con la portabilidad del código de ARM946E-S a Cortex-R4(F). No analiza cuestiones generales de programación que se aplican por igual a ambos procesadores.
prólogo
Los procesadores en tiempo real ARM Cortex-R brindan soluciones informáticas de alto rendimiento.
Profundamente integrado en sistemas con estrictas restricciones de respuesta en tiempo real. Este documento presenta las características principales de los procesadores Cortex-R4 y Cortex-R4F. También cubre las consideraciones de codificación C al migrar código dirigido a ARM946E-S a Cortex-R4(F).
Este documento asume la familiaridad con ARM946E-S o ARM1156T2(F)-S.
procesador y arquitectura ARMv5TE. También se supone que está familiarizado con la programación en C y en ensamblador. Describe los problemas relacionados con la portabilidad del código de ARM946E-S a Cortex-R4(F). No analiza cuestiones generales de programación que se aplican por igual a ambos procesadores.
ARMv7-R
Cortex-R4(F) implementa la arquitectura ARMv7-R y ofrece numerosas mejoras y mejoras sobre ARMv5TE. Muchos de los problemas a tener en cuenta al migrar código a Cortex-R4(F) son diferencias/extensiones arquitectónicas y, por lo tanto, también se aplican a otros procesadores Cortex-R.
Pulgar-2
El Thumb-2 ISA es una importante extensión del Thumb ISA. Es un conjunto de instrucciones mixto de 16 y 32 bits destinado a proporcionar los beneficios de densidad de código de Thumb con la flexibilidad y el rendimiento del conjunto de instrucciones ARM. Thumb-2 amplía Thumb para permitir el acceso a los registros del sistema (como CPSR) y coprocesadores. La arquitectura también permite que el procesador se configure para detectar excepciones en el estado Thumb.
Cambiar el conjunto de instrucciones
Se agregaron algunas instrucciones para las arquitecturas ARMv6 y ARMv7-R. Estos incluyen instrucciones para cambios de modo, manejo de datos mixtos y operaciones SIMD.
ARMv7-R agregó soporte para división de hardware, instrucciones UDIV y SDIV. Solo están disponibles en el conjunto de instrucciones Thumb-2.
El comportamiento de las instrucciones de procesamiento de datos que escriben en la PC ha cambiado. Anteriormente, las instrucciones de procesamiento de datos no podían cambiar de estado excepto cuando regresaban de una excepción. En ARMv7-R, las instrucciones de procesamiento de datos que escriben en la PC pueden provocar cambios de estado en función del bit 0 de la dirección.
soporte mixto-endian
ARMv6 tiene mejor soporte para sistemas mixtos. El procesador Cortex-R4(F) admite Little Endian (LE) y Byte Invariant Big Endian (BE-8) para el acceso a datos. El endianness de los datos está controlado por los bits CPSR.E y SCTLR.EE. El bit CPSR.E se puede controlar fácilmente mediante la instrucción SETEND. También se proporcionan instrucciones para convertir el formato de los datos que se encuentran en los registros. Estos incluyen las instrucciones REV y REV16.
ARMv7-R PMSA
El procesador Cortex-R4(F) implementa la arquitectura del sistema de memoria protegida ARMv7-R. Esto proporciona un modelo de memoria débilmente ordenado que permite a los procesadores optimizar mejor los accesos a la memoria.