The PRUSS scratch pad supports the following features:
- PRU0 and PRU1 cores have three Scratch Pad banks 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 7-40 shows a simplified model of the Scratch Pad and PRU cores integration.