Cortex-R5F processors support lock-step operation mode, which operates both RPU CPU cores as a redundant CPU configuration called safety mode.
The Cortex-R5F processor set to operate in the lock-step configuration exposes only one CPU interface. Because Cortex-R5F processor only supports the static split and lock configuration, switching between these modes is permitted only while the processor group is held in power-onreset (POR). The input signals SLCLAMP and SLSPLIT control the mode of the processor group.
These signals control the multiplex and clamp logic in the lock-step configuration. When the Cortex-R5F processors are in the lock-step mode (shown in the following figure), there must be code in the reset handler to manage that the distributor within the GIC dispatches interrupts only to CPU0. The RPU includes a dedicated interrupt controller for Cortex-R5F MPCore processors. This Arm PL390 generic interrupt controller (GIC) is based on the GICv1 specification.
Tightly coupled memories (TCMs) are mapped in the local address space of each Cortex-R5F processor; however, they are also mapped in the global address space where any master can access them provided that the XPPU is configured to allow such accesses.
The following table lists the address maps from the RPU point of view:
Operation Mode | Memory | R5_0 View (Start Address) | R5_1 View (Start Address) | Global Address View (Start Address) |
---|---|---|---|---|
Split Mode | R5_0 ATCM (64 KB) | 0x0000_0000 | N/A | 0xFFE0_0000 |
R5_0 BTCM (64 KB) | 0x0002_0000 | N/A | 0xFFE2_0000 | |
R5_0 instruction cache | I-Cache | N/A | 0xFFE4_0000 | |
R5_0 data cache | D-Cache | N/A | 0xFFE5_0000 | |
Split Mode | R5_1 ATCM (64 KB) | N/A | 0x0000_0000 | 0xFFE9_0000 |
R5_1 BTCM (64 KB) | N/A | 0x0002_0000 | 0xFFEB_0000 | |
R5_1 instruction cache | I-Cache | N/A | 0xFFEC_0000 | |
R5_1 data cache | D-Cache | N/A | 0xFFED_0000 | |
Lock-step Mode | R5_0 ATCM (128 KB) | 0x0000_0000 | N/A | 0xFFE0_0000 |
R5_0 BTCM (128 KB) | 0x0002_0000 | N/A | 0xFFE2_0000 | |
R5_0 instruction cache | I-Cache | N/A | 0xFFE4_0000 | |
R5_0 data cache | D-Cache | N/A | 0xFFE5_0000 |