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
- 16KB instruction cache
- 4x4KB ways
- SECDED ECC protected per 64 bits
- 16KB data cache
- 4x4KB ways
- SECDED ECC protected per 32 bits
- 64KB tightly-coupled memory (TCM) per CPU
- 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)
- 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
- Note: This port is only supported for R5FSS0 and R5FSS1; it is 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
Note: VBUSP is a pended protocol such that only a single transaction can be outstanding at any given time. Transactions are completed on VBUSP entirely before the next transaction is presented on the interface.
VBUSM allows multiple transactions to be outstanding which increases bus throughput.
- 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
See Section 6.3.3 for a functional block diagram and more details on the R5FSS.