Constants Table
318
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Programmable Real-Time Unit Subsystem (PRUSS)
13.3 Constants Table
The PRU Constants Table is a structure connected to a dedicated interface on the PRU core within the
PRU that is used to provide the base address for the Load Burst Co Offset (LBCO) and Store
Burst Co Offset (SBCO) instructions. The PRU Constants Table is provided in order to maximize
the usage of the PRU register file for embedded processing applications by moving many of the commonly
used constant or deterministically calculated base addresses from the internal register file to an external
table. Since this table is accessed using a dedicated interface, no performance difference is realized
between the LBCO and LBBO or SBCO and SBBO instructions. The constants in the table are provided in
Table 2.
(1)
These constants cannot be used due to memory map restrictions.
1. Constants not in this table can be created ’on the fly’ by two consecutive LDI
#16 instructions. These constants are just ones that are expected to be
commonly used, enough so to be hard-coded into the PRU constants table.
2. Constants table entries 24 through 31 are not fully hard-coded, but contain a
programmable bitfield (ex. c24_blk_index[3:0]) that is programmable through
the PRU control register space (0x01C3_7000 - 0x01C3_73FF for PRU0 and
0x01C3_7800 - 0x01C3_7BFF for PRU1).
Table 13-1. Constants Table
(1)
Entry #
Region Pointed To
Value [31:0]
0
PRU0/1 Local INTC
0x00004000
1
Timer64P0
0x01C20000
2
I2C0
0x01C22000
3
PRU0/1 Local Data
0x00000000
4
PRU1/0 Local Data
0x00002000
5
MMC/SD
0x01C40000
6
SPI0
0x01C41000
7
UART0
0x01C42000
8
McASP0 DMA
0x01D02000
9
Reserved
0x01D06000
10
Reserved
0x01D0A000
11
UART1
0x01D0C000
12
UART2
0x01D0D000
13
USB0
0x01E00000
14
USB1
0x01E25000
15
UHPI Config
0x01E10000
16
Reserved
0x01E12000
17
I2C1
0x01E28000
18
EPWM0
0x01F00000
19
EPWM1
0x01F02000
20
Reserved
0x01F04000
21
ECAP0
0x01F06000
22
ECAP1
0x01F07000
23
ECAP2
0x01F08000
24
PRU0/1 Local Data
0x00000n00, n = c24_blk_index[3:0]
25
McASP0 Control
0x01D00n00, n = c25_blk_index[3:0]
26
Reserved
0x01D04000
27
Reserved
0x01D08000
28
DSP Megamodule RAM/ROM
0x11nnnn00, nnnn = c28_pointer[15:0]
29
EMIFA SDRAM
0x40nnnn00, nnnn = c29_pointer[15:0]
30
Shared RAM
0x80nnnn00, nnnn = c30_pointer[15:0]
31
mDDR/DDR2 Data
0xC0nnnn00, nnnn = c31_pointer[15:0]