Each R5FSS supports the following features:
- Dual-core Arm Cortex-R5F
- Core revision: r1p3
- Armv7-R profile
- Split/lock operation
- Split mode: Two independently operating cores (asymmetric multi processing, no coherence)
- Lock (lockstep) mode: One main operating core with the other operating in lockstep
- Boot-time configurable to be in split or lock mode
- L1 memory system
- 32KB instruction cache
- 4x8KB ways
- SECDED ECC protected per 64 bits
- 32KB data cache
- 4x8KB ways
- SECDED ECC protected per 32 bits
- 64KB tightly-coupled memory (TCM) per CPU in split mode
- SECDED ECC protected per 32 bits
- Readable/writable from system
- Split into A and B banks (with B further splitting into B0 and B1 interleaved banks)
- 32KB TCMA (ATCM)
- 16KB TCMB0 (B0TCM)
- 16KB TCMB1 (B1TCM)
- 128KB of TCM for CPU0 in lock mode
- Low interrupt latency with restartable instructions
- Non-maskable interrupt (NMI)
- Full-precision floating point (VFPv3)
- 16 region memory protection unit (MPU)
- 8 breakpoints
- 8 watchpoints
- Dynamic branch prediction with global history buffer and 4-entry return stack
- CoreSight debug access port (DAP)
- CoreSight embedded trace macrocell (ETM-R5) interface
- Performance monitoring unit (PMU)
- Interfaces
- 64-bit VBUSM master pair (1 read, 1 write) for L3 memory accesses (per core)
- 64-bit VBUSM slave for TCM access (per core)
- Also allows access to cache for debug purposes
- 32-bit VBUSM master pair (1 read, 1 write) for peripheral access
- Supported for R5FSS0 ; not supported for MCU_R5FSS0
- 32-bit VBUSP master for peripheral access (per core)
- 32-bit VBUSP slave configuration port (per core)
- 32-bit VBUSP slave debug port
- Allows access to all R5FSS internal debug logic
- Synchronous clock domain crossing on all interfaces
- Interfaces can run at an integer division of the core frequency
- Error detection logic (in lockstep mode only)
- 32-bit to 48-bit region-based address translation (RAT) on memory access masters
- 16 regions
- Base address + size
- Must be size aligned
- Integrated vectored interrupt manager (VIM)
- 512 interrupts per core
- Only interrupts connected to R5F core 0 are available in lock mode
- Each interrupt programmable as either IRQ or FIQ
- Each interrupt has a programmable enable mask
- Each interrupt has a programmable 4-bit priority
- Priority interrupt supported
- Vectored interrupt interface
- Compatible with R5F VIC port
- Programmable 32-bit vector address per interrupt
- Address is SECDED error protected
- Default vector addresses provided on DED
- Split or lockstep capable
- Software interrupt generation
- Integrated ECC aggregators
- Support for error injection to all supported ECC memory blocks to test ECC functionality (add-on function from TI)
- One ECC aggregator per core to cover all RAMs and caches associated with that core
- Standard Arm CoreSight debug and trace architecture at the R5FSS level
- Cross triggering: Supported by cross trigger interface (CTI) (per CPU) and cross trigger matrix (CTM) components
- Processor trace: Supported by embedded trace macrocell (ETM) (per CPU) and advanced trace bus (ATB) funnel components
- Boot
- From ROM or external memory
- From TCM