CR (R5_ETM_0) Register

Zynq UltraScale+ Devices Register Reference (UG1087)

Document ID
UG1087
Release Date
2024-03-13
Revision
1.10

CR (R5_ETM_0) Register Description

Register NameCR
Offset Address0x0000000000
Absolute Address 0x00FEBFC000 (CORESIGHT_R5_ETM_0)
Width32
TyperwNormal read/write
Reset Value0x00000421
DescriptionMain Control Register

CR (R5_ETM_0) Register Bit-Field Summary

Field NameBitsTypeReset ValueDescription
Core_select27:25rwNormal read/write0x0If an ETM is shared between multiple CPUs, selects which CPU to trace. For the maximum value permitted, see bits[14:12] of the System Configuration Register. To guarantee that the ETM is correctly synchronized to the new CPU, you must update these bits as follows: 1. Set bit[10], ETM programming, and bit[0], ETM power down, to 1. 2. Change the core select bits. 3. Clear bit[0], ETM power down, to 0. 4. Perform other programming required as normal.
Port_size_321rwNormal read/write0x0Use this bit in conjunction with bits[6:4].
Data_only20rwNormal read/write0x00: Instruction trace enabled.
1: Instruction trace disabled. Data-only tracing is possible in this mode.
Filter19rwNormal read/write0x0Use this bit in conjunction with bit[1], the MonitorCPRT bit.
Suppress_data18rwNormal read/write0x0Use this bit with bit[7] to suppress data.
Port_mode_1_017:16rwNormal read/write0x0These bits are used, in conjunction with bit[13], to set the trace port clocking mode. ETM-R5 supports only dynamic mode, corresponding to the value b000, but you can write other values to these bits, and a read of the register returns the value written. Writing another value to these bits has no effect on the ETM. Bit[11] of the System Configuration Register indicates if these bits are set to select a supported clocking mode.
Context_ID_size15:14rwNormal read/write0x0The possible values of this field are:
00: No Context ID tracing.
01: Context ID bits[7:0] traced.
10: Context ID bits[15:0] traced.
11: Context ID bits[31:0] traced.
Note: Only the number of bytes specified are traced even if the new value is larger than this.
Port_mode_213rwNormal read/write0x0See the description of bits[17:16].
Cycle_accurate12rwNormal read/write0x0Set this bit to 1 if you want the trace to include a precise cycle count of executed instructions. This is achieved by adding extra information into the trace, giving cycle counts even when TraceEnable is inactive.
Programming10rwNormal read/write0x1When set to 1, the ETM is being programmed.
Debug_request 9rwNormal read/write0x0If you set this bit to 1, when the trigger event occurs, the DBGRQ output is asserted until DBGACK is observed. This enables the Arm processor to be forced into Debug state.
Branch_output 8rwNormal read/write0x0Set this bit to 1 if you want the ETM to output all branch addresses, even if the branch is because of a direct branch instruction. Setting this bit to 1 enables reconstruction of the program flow without having access to the memory image of the code being executed.
Port_size_2_0 6:4rwNormal read/write0x2Use this field with bit[21] to specify the port size. The port size determines how many external pins are available to output the trace information on ATDATA[31:0]. ETM-R5 supports only the 32-bit port size, corresponding to a Port size[2:0] value of b0100, but you can write other values to these bits, and a read of the register returns the value written. Writing another value to these bits has no effect on the ETM. Bit[10] of the System Configuration Register indicates if these bits are set to select an unsupported port size.
Data_access 3:2rwNormal read/write0x0This field configures the data tracing mode. The possible values are:
00: No data tracing.
01: Trace only the data portion of the access.
10: Trace only the address portion of the access.
11: Trace both the address and the data of the access.
MonitorCPRT 1rwNormal read/write0x0This field controls whether CPRTs are traced.
This bit is used with bit[19].
0: CPRTs not traced.
1: CPRTs traced.
Power_down 0rwNormal read/write0x1A pin controlled by this bit enables the ETM power to be controlled externally. The sense of this bit is inverted, and drives the ETMPWRUP signal. This bit must be cleared by the trace software tools at the beginning of a debug session. When this bit is set to 1, ETM tracing is disabled and accesses to any registers other than this register and the Lock Access Register are ignored.