SPRUIM2H May 2020 – October 2023 AM2431 , AM2432 , AM2434 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
Each PRU core (PRU0 or PRU1) has a dedicated 2KB Broadside (BS) RAM, which is attached to the core. Each of the auxiliary RTU_PRU cores (RTU_PRU0 or RTU_PRU1) have a dedicated 2KB Broadside (BS) RAM. Each of the auxiliary TX_PRU cores (TX_PRU0 or TX_PRU1) have a dedicated 2KB Broadside (BS) RAM.
The BS RAM directly connects with the PRU internal register R2-R10 through use of the PRU broadside interface and XFR instructions. Figure 6-208 shows the functionality of each register.
There are two modes of operation for the PRU to interact with the BS RAM:
The XFR instructions (XIN and XOUT) are used to load/store register contents between the PRU/ RTU_PRU core and the BS RAM. These instructions define the start, size, direction of the operation, and device ID. The device ID number corresponding to the BS RAM is shown in Table 6-434.
Device ID | Function | |
---|---|---|
BS RAM only mode The following IDs can be used to read/write the following registers to the BS RAM:
Note that R10 must be treated as a 2 byte write. |
48 (30h) | PRU |
48 (30h) | TX_PRU | |
30 (1Eh) | RTU_PRU | |
BS RAM + SUM32 snoop
mode The following IDs can be used to write (only) the following registers to the BS RAM and SUM32 module. This mode requires a 32 Byte write.
|
49 (31h) | PRU |
38 (26h) | RTU_PRU | |
R12:R10 | 48 (30h) | PRU |
Last 12 Bytes of RX |
30 (1Eh) | RTU_PRU |
A description of the PRU register R10’s functionality is shown in Table 6-435. Note that the firmware must do a 2 byte write of R10[15:0] when transmitting the content of this register to the BS RAM.
Bit | Field | Description |
---|---|---|
15 | AutoIndexEn | RAM Auto Increment the Index Enable 0h: Disable Auto Increment 1h: Enable Auto Increment When enabled, each PRU or RTU_PRU core’s write or read to the BS RAM will cause the RAM_Address to increment by 1. Note: Each increment of the RAM_Address is the equivalent of 32 Bytes. The next read or write address will always be 32 Bytes later, regardless of the read or write data size. Rollovers of RAM_Address are not supported. Firmware must reset RAM_Address to zero. This mode must be set before RAM Data transaction. |
8-0 | RAM_Address | Index for PRU core Read/Write access of
the RAM. Index is direct mapping to the 16KB RAM. Note: Max width is 256-bits or 32Bytes. 0h: 1st 32 Bytes 1h: 2nd 32 Bytes Note: For reading data, can be executed XOUT RAM_Address, XIN RAM_Data |