1.13 ARM architecture v7-R

ARMv7-R is a variant of the ARMv7 architecture targeted at the real-time profile. The ARMv7-R architecture supports the ARM and Thumb instruction sets.

The following table shows useful command-line options.

Table 1-8 Useful command-line options for ARMv7-R

Command-line option Description
--cpu=7 ARMv7 with Thumb instructions only (no ARM instructions) but without hardware dividea
--cpu=7-R ARMv7 real-time profile with ARM instructions, 16-bit encoded Thumb instructions, 32-bit encoded Thumb instructions, VFP, 32-bit SIMD support, and hardware divide
--cpu=name
Where name is a specific ARM processor. For example:
  • Cortex-R4F for ARMv7 with ARM and Thumb instructions, hardware VFP, hardware divide, and SIMD support.

Key features

Key features for ARMv7-R:
  • Supports the SDIV and UDIV instructions.

Alignment support

The data alignment behavior supported by the ARM architecture has changed significantly between ARMv4 and ARMv7. An ARMv7 implementation provides hardware support for some unaligned data accesses using LDR, STR, LDRH, and STRH. Other data accesses must maintain alignment using LDM, STM, LDRD, STRD, LDC, STC, LDREX, STREX, and SWP.
You can control the alignment requirements of load and store instructions by using the A bit in the CP15 register c1.

Endian support

You can produce either little-endian or big-endian code using the compiler command-line options --littleend and --bigend respectively.
ARMv7-R supports the following endian modes:
LE
little-endian format
BE-8
big-endian format.
ARMv7 does not support the legacy BE-32 mode. If you have legacy code for ARM v7 processors that contain instructions with a big-endian byte order, then you must perform byte order reversal.
ARMv7-R supports optional byte order reversal hardware as a static option from reset.
Related concepts
1.7 ARM architecture profiles
Related information
Compiler storage of data objects by natural byte alignment
--unaligned_access, --no_unaligned_access compiler options
--cpu=name assembler option
--bigend assembler option
--littleend assembler option
ARM Architecture Reference Manual, ARMv7-A and ARMv7-R edition
a
ARM v7 is not a recognized ARM architecture. Rather, it denotes the features that are common to all of the ARMv7-A, ARMv7-R, and ARMv7-M architectures.
Non-ConfidentialPDF file icon PDF versionARM DUI0471K
Copyright © 2010-2014 ARM. All rights reserved.