The PRU_ICSSG scratch pad supports the following features:
- PRU0 and PRU1 cores have three Scratch Pad banks of 30, 32-bit registers (R29 to R0)
- RTU_PRU0 and RTU_PRU1 auxiliary cores have three Scratch Pad banks of 30, 32-bit registers (R29 to R0)
- TX_PRU0 transmit core has one Scratch Pad bank of 30, 32-bit registers (R29 to R0)
- TX_PRU1 transmit core has one Scratch Pad bank of 30, 32-bit registers (R29 to R0)
- Flexible load/store options:
- Load/store one byte of R<n> or load/store (R29 to R0) to Bank0, Bank1, Bank2 or Bank3
- User-defined start byte and length of the transfer
- Length of transfer ranges from one byte of a register to the entire register content (R29 to R0)
- Simultaneous transaction supported between PRU0 <-> Bank<n> and PRU1 <-> Bank<m>
- XFR (XIN/XOUT/XCHG) instructions operate in one clock cycle
- Optional XIN/XOUT shift functionality allows remapping of registers (R<n> -> R<m>) during load store operation
Figure 6-204 shows a simplified model of the Scratch Pad and PRU cores integration.
Figure 6-205 shows a simplified model of the Scratch Pad and RTU_PRU cores integration.
Figure 6-206 shows a simplified model of the Scratch Pad and TX_PRU cores integration.