SoC
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
  • Arm Cortex M3
  • Contact
Reading: Cortex-R Microcontroller
SUBSCRIBE
SoCSoC
Font ResizerAa
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Search
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Have an existing account? Sign In
Follow US
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
© S-O-C.ORG, All Rights Reserved.
Arm

Cortex-R Microcontroller

Elijah Erickson
Last updated: September 7, 2023 1:26 am
Elijah Erickson 8 Min Read
Share
SHARE

The Cortex-R microcontroller is an ARM processor core designed specifically for high-reliability applications. It offers features to help meet the stringent safety and reliability requirements of systems like automobiles, industrial control, aerospace, and medical devices.

Contents
OverviewArchitectureLockstep ModeSoftware DevelopmentUse CasesVendor ImplementationsConclusion

Overview

The Cortex-R processor cores are based on the ARMv7-R architecture, which adds extensions for reliability, availability, and serviceability (RAS). Key features include:

  • Lockstep mode – Two cores run identical code in lockstep for error detection
  • Error correcting codes (ECC) – Detect and correct memory errors
  • Parity and error checking – On registers, buses, and memories
  • Fault handling – Traps, exceptions, and interrupts for dealing with errors
  • Security – Features like TrustZone for trusted execution environments

These capabilities allow Cortex-R processors to meet safety standards like ISO 26262 in automotive and IEC 61508 for industrial equipment. The lockstep mode in particular helps detect faults due to issues like radiation, voltage fluctuations, and manufacturing defects.

The Cortex-R family includes variants like the Cortex-R4, Cortex-R5, Cortex-R7, and Cortex-R8. Each generation has added more performance and features for high-reliability applications. For example, the Cortex-R5 added double-precision floating point support for applications like radar processing.

Architecture

The Cortex-R core architecture consists of these main components:

  • Execution units – Integer pipeline, floating point unit, etc.
  • Nested Vectored Interrupt Controller (NVIC) – Handles interrupts and exceptions
  • Memory Protection Unit (MPU) – Enforces memory access rules
  • Bus interfaces – AHB, AXI, and APB buses for on-chip communication
  • Debug interface – Hardware debugging capabilities
  • Lockstep logic – For dual-core lockstep configurations

The execution units are based on the baseline Cortex-A integer processor with additional RAS extensions. These help detect errors through parity checks, error correcting codes, and other redundancy mechanisms.

The NVIC allows precise handling of faults and fast interrupt processing. Priorities and service routines can be assigned for rapid response. The MPU enhances reliability by restricting memory access to only permitted regions.

On-chip buses like AHB, AXI, and APB enable low latency access to peripherals and memory. Parity and error checking is built into these bus transactions.

Hardware debug support includes ARM CoreSight for tracing, profiling, and breakpoint debugging. This is useful for software development and system diagnostics.

Lockstep Mode

A unique feature of Cortex-R processors is support for dual-core lockstep operation. In this mode, two identical cores run the same code in unison, cycle by cycle.

The lockstep logic compares the outputs of both cores, including the bus transactions. If any mismatches are detected, it indicates a fault in one of the cores. This can trigger action like halting both cores or resetting the system.

Lockstep mode allows runtime detection of both permanent faults, like due to manufacturing defects, as well as transient faults caused by things like radiation, voltage dips, clock jitter, etc. This level of reliability is required in safety-critical applications.

The dual-core lockstep architecture provides much higher fault coverage than parity or error correcting codes alone. However, it does require more silicon area and power. So it may not be suitable for low-cost or power-constrained designs.

Software Development

Software development for Cortex-R processors is done primarily using ARM’s RealView Development Suite. This contains a GNU-based toolchain with compiler, assembler, linker, and debugger support.

RealView provides an Eclipse IDE and supports multiple debugging interfaces like JTAG. The ARM DS-5 Development Studio is another commonly used commercial toolchain.

For operating systems, real-time OS like FreeRTOS can be used or even custom in-house RTOS. For bare-metal applications, the ARM CMSIS libraries provide useful firmware functions.

Programming is done in C/C++, Assembly, and ARM Thumb instruction sets. Debugging utilizes CoreSight and ARM Embedded Trace Macrocell (ETM) modules to provide instruction trace capabilities.

Software analysis tools like static code analyzers are highly recommended to reduce defects in the code. Extensive testing and simulation must be carried out to ensure functional safety requirements are satisfied.

Use Cases

Here are some common applications where Cortex-R processors are used due to the need for high reliability:

  • Automotive – Engine control, ABS, airbags, ADAS systems
  • Industrial – Motor drives, robotics, safety PLCs
  • Aerospace – Flight control systems, avionics
  • Medical – Diagnostic equipment, infusion pumps
  • Transportation – Train control systems, traffic signals

In automotive, the Cortex-R is widely used in ADAS applications like automatic emergency braking where ISO 26262 ASIL-D compliance is required. It provides the safety and redundancy needed for self-driving vehicle systems.

In industrial, it meets IEC 61508 SIL 3 certification for reliable emergency shutdown in chemical plants and other hazardous processes. It also suits motor control applications where fault tolerance is necessary.

For medical devices, the Cortex-R safety architecture prevents random processor faults from affecting lifesaving equipment. This is mandatory for regulatory compliance.

Across domains, the lockstep mode offers the highest safety integrity levels for the most critical systems. When lives depend on the reliability of the electronics, the Cortex-R delivers proven protection.

Vendor Implementations

The Cortex-R core is licenced to various semiconductor vendors who integrate it into their chip designs. Some of the vendors with Cortex-R based microcontrollers include:

  • NXP – i.MX RT series, S32R, LPC5500
  • Renesas – RZ/Five, RZ/A2M, RH850
  • Microchip – AVR32UC3C, SAM RH707
  • Cypress – PSoC 64
  • Maxim – MAX32650

NXP’s i.MX RT series combines Cortex-M and Cortex-R cores for mixed criticality applications. The S32R incorporates lockstep configuration and ECC memories.

Renesas’ RZ/Five MPUs integrate Cortex-R with GPUs, video processing, and high-speed interfaces for ADAS and cockpit systems.

Microchip’s SAM RH707 focuses on industrial with features like 6-channel PWMs and CAN-FD. Cypress PSoC 64 suits industrial IoT applications and motor control.

These microcontrollers combine ARM’s reliable Cortex-R core with peripherals, memory, analog, and connectivity for full system solutions. Ready-to-use evaluation kits are also offered.

Conclusion

The Cortex-R processor delivers the safety and reliability needed for critical embedded systems. Its dual-core lockstep architecture provides exceptional fault coverage beyond most other architectures.

Paired with development tools like RealView and safety-certified RTOS, engineers can develop robust systems that meet stringent standards for automotive, industrial and other domains.

With proven deployments across medical devices, transportation, robotics, and more, the Cortex-R will continue to ensure the highest levels of reliability where it matters most.

Newsletter Form (#3)

More ARM insights right in your inbox

 


Share This Article
Facebook Twitter Email Copy Link Print
Previous Article Cortex-M4 vs Cortex-M7: How Do ARM’s Mid-Range and High-End Cores Compare?
Next Article ARM Programming in C
Leave a comment Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

2k Followers Like
3k Followers Follow
10.1k Followers Pin
- Sponsored-
Ad image

You Might Also Like

What is the pipeline in cortex-M0?

The Cortex-M0 is a 32-bit ARM processor optimized for microcontroller…

7 Min Read

What is Instrumentation Trace Macrocell (ITM) in Arm Cortex-M?

The Instrumentation Trace Macrocell (ITM) is a tracing and debugging…

14 Min Read

Reset Vector Configuration for External Flash with Cortex-M1

When using an external flash memory with a Cortex-M1 microcontroller,…

9 Min Read

Arm Cortex M0 Verilog Code

The Arm Cortex-M0 is an ultra low power 32-bit RISC…

11 Min Read
SoCSoC
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
Welcome Back!

Sign in to your account