You copied the Doc URL to your clipboard.

3.3.4. RAM Read Pointer Register

The RRP Register characteristics are:


The RAM Read Pointer Register contains the value of the read pointer that is used to read entries from the trace memory over the APB interface.

The value written to this register must be a byte-address aligned to the width of the trace memory databus and to a frame boundary. For example, for 64-bit wide trace memory and 128-bit wide trace memory, the four LSBs must be 0s. For 256-bit wide trace memory, the five LSBs must be 0s. The width of the trace memory can be obtained by reading the MEMWIDTH field in the DEVID Register, 0xFC8.

When one complete buffer or FIFO entry has been read through the RRD Register, the RAM Read Pointer Register is incremented by the number of bytes per memory width of data. For example, for 64-bit wide memory, it is incremented by eight. For 128-bit wide memory, it is incremented by 16 for every complete memory entry read. When the RAM Read Pointer is incremented after having reached its maximum value, it wraps around.

The width of this register in the ETB or ETF configurations is log2(MEM_SIZE*4). In the ETR configuration, this register is 32 bits wide, and the contents of this register represents the lower 32 bits of the 40-bit AXI address used to access trace memory. If scatter-gather operation is enabled, this register represents the next address in trace memory to be read, not the address of a page table entry.

When in Disabled state, a write to this register sets the value of the trace memory address from which data is fetched on a subsequent RRD read. A write to this register when not in Disabled state results in Unpredictable behavior.This register can be read:

  • when in Disabled state

  • when in Stopped state, in Circular Buffer mode

  • when in Running, Stopping or Stopped states, in Software FIFO mode.

When entering Disabled state in Circular Buffer mode with scatter-gather mode disabled, this register points to the next location in the trace buffer to be read. This is for backwards compatibility purposes, so that the buffer can be read while in Disabled state. It is recommended that you read the buffer contents while in Stopped state instead, because the pointers are managed automatically.


Present in all configurations.

Figure 3.4 shows the RRP Register bit assignments.

Figure 3.4. RRP Register bit assignments

Figure 3.4. RRP Register bit assignments

Table 3.5 shows the RRP Register bit assignments.

Table 3.5. RRP Register bit assignments

This value represents the location in trace memory that is accessed on a subsequent RRD read

[a] The width of this register is dependent on the TMC configuration.

Was this page helpful? Yes No