Instances
| Instance | Domain | Base address | TrustZone | Split access | Description | ||
|---|---|---|---|---|---|---|---|
| Map | Att | DMA | |||||
| ETM | APPLICATION | 0xE0041000 | HF | NS | NA | No |
Embedded trace macrocell |
Register overview
| Register | Offset | TZ | Description |
|---|---|---|---|
| TRCPRGCTLR | 0x004 |
Enables the trace unit. |
|
| TRCPROCSELR | 0x008 |
Controls which PE to trace. Might ignore writes when the trace unit is enabled or not idle. Before writing to this register, ensure that TRCSTATR.IDLE == 1 so that the trace unit can synchronize with the chosen PE. Implemented if TRCIDR3.NUMPROC is greater than zero. |
|
| TRCSTATR | 0x00C |
Idle status bit |
|
| TRCCONFIGR | 0x010 |
Controls the tracing options This register must always be programmed as part of trace unit initialization. Might ignore writes when the trace unit is enabled or not idle. |
|
| TRCEVENTCTL0R | 0x20 |
Controls the tracing of arbitrary events. If the selected event occurs a trace element is generated in the trace stream according to the settings in TRCEVENTCTL1R.DATAEN and TRCEVENTCTL1R.INSTEN. |
|
| TRCEVENTCTL1R | 0x24 |
Controls the behavior of the events that TRCEVENTCTL0R selects. This register must always be programmed as part of trace unit initialization. Might ignore writes when the trace unit is enabled or not idle. |
|
| TRCSTALLCTLR | 0x2C |
Enables trace unit functionality that prevents trace unit buffer overflows. Might ignore writes when the trace unit is enabled or not idle. Must be programmed if TRCIDR3.STALLCTL == 1. |
|
| TRCTSCTLR | 0x30 |
Controls the insertion of global timestamps in the trace streams. When the selected event is triggered, the trace unit inserts a global timestamp into the trace streams. Might ignore writes when the trace unit is enabled or not idle. Must be programmed if TRCCONFIGR.TS == 1. |
|
| TRCSYNCPR | 0x34 |
Controls how often trace synchronization requests occur. Might ignore writes when the trace unit is enabled or not idle. If writes are permitted then the register must be programmed. |
|
| TRCCCCTLR | 0x38 |
Sets the threshold value for cycle counting. Might ignore writes when the trace unit is enabled or not idle. Must be programmed if TRCCONFIGR.CCI==1. |
|
| TRCBBCTLR | 0x3C |
Controls which regions in the memory map are enabled to use branch broadcasting. Might ignore writes when the trace unit is enabled or not idle. Must be programmed if TRCCONFIGR.BB == 1. |
|
| TRCTRACEIDR | 0x40 |
Sets the trace ID for instruction trace. If data trace is enabled then it also sets the trace ID for data trace, to (trace ID for instruction trace) + 1. This register must always be programmed as part of trace unit initialization. Might ignore writes when the trace unit is enabled or not idle. |
|
| TRCQCTLR | 0x44 |
Controls when Q elements are enabled. Might ignore writes when the trace unit is enabled or not idle. This register must be programmed if it is implemented and TRCCONFIGR.QE is set to any value other than 0b00. |
|
| TRCVICTLR | 0x080 |
Controls instruction trace filtering. Might ignore writes when the trace unit is enabled or not idle. Only returns stable data when TRCSTATR.PMSTABLE == 1. Must be programmed, particularly to set the value of the SSSTATUS bit, which sets the state of the start/stop logic. |
|
| TRCVIIECTLR | 0x084 |
ViewInst exclude control. Might ignore writes when the trace unit is enabled or not idle. This register must be programmed when one or more address comparators are implemented. |
|
| TRCVISSCTLR | 0x088 |
Use this to set, or read, the single address comparators that control the ViewInst start/stop logic. The start/stop logic is active for an instruction which causes a start and remains active up to and including an instruction which causes a stop, and then the start/stop logic becomes inactive. Might ignore writes when the trace unit is enabled or not idle. If implemented then this register must be programmed. |
|
| TRCVIPCSSCTLR | 0x08C |
Use this to set, or read, which PE comparator inputs can control the ViewInst start/stop logic. Might ignore writes when the trace unit is enabled or not idle. If implemented then this register must be programmed. |
|
| TRCVDCTLR | 0x0A0 |
Controls data trace filtering. Might ignore writes when the trace unit is enabled or not idle. This register must be programmed when data tracing is enabled, that is, when either TRCCONFIGR.DA == 1 or TRCCONFIGR.DV == 1. |
|
| TRCVDSACCTLR | 0x0A4 |
ViewData include / exclude control. Might ignore writes when the trace unit is enabled or not idle. This register must be programmed when one or more address comparators are implemented. |
|
| TRCVDARCCTLR | 0x0A8 |
ViewData include / exclude control. Might ignore writes when the trace unit is enabled or not idle. This register must be programmed when one or more address comparators are implemented. |
|
| TRCSEQEVR[n] | 0x100 |
Moves the sequencer state according to programmed events. Might ignore writes when the trace unit is enabled or not idle. When the sequencer is used, all sequencer state transitions must be programmed with a valid event. |
|
| TRCSEQRSTEVR | 0x118 |
Moves the sequencer to state 0 when a programmed event occurs. Might ignore writes when the trace unit is enabled or not idle. When the sequencer is used, all sequencer state transitions must be programmed with a valid event. |
|
| TRCSEQSTR | 0x11C |
Use this to set, or read, the sequencer state. Might ignore writes when the trace unit is enabled or not idle. Only returns stable data when TRCSTATR.PMSTABLE == 1. When the sequencer is used, all sequencer state transitions must be programmed with a valid event. |
|
| TRCEXTINSELR | 0x120 |
Use this to set, or read, which external inputs are resources to the trace unit. Might ignore writes when the trace unit is enabled or not idle. Only returns stable data when TRCSTATR.PMSTABLE == 1. When the sequencer is used, all sequencer state transitions must be programmed with a valid event. |
|
| TRCCNTRLDVR[n] | 0x140 |
This sets or returns the reload count value for counter n. Might ignore writes when the trace unit is enabled or not idle. |
|
| TRCCNTCTLR[n] | 0x150 |
Controls the operation of counter n. Might ignore writes when the trace unit is enabled or not idle. |
|
| TRCCNTVR[n] | 0x160 |
This sets or returns the value of counter n. The count value is only stable when TRCSTATR.PMSTABLE == 1. If software uses counter n then it must write to this register to set the initial counter value. Might ignore writes when the trace unit is enabled or not idle. |
|
| TRCRSCTLR[n] | 0x200 |
Controls the selection of the resources in the trace unit. Might ignore writes when the trace unit is enabled or not idle. If software selects a non-implemented resource then CONSTRAINED UNPREDICTABLE behavior of the resource selector occurs, so the resource selector might fire unexpectedly or might not fire. Reads of the TRCRSCTLRn might return UNKNOWN. |
|
| TRCSSCCR0 | 0x280 |
Controls the single-shot comparator. |
|
| TRCSSCSR0 | 0x2A0 |
Indicates the status of the single-shot comparators. TRCSSCSR0 is sensitive toinstruction addresses. |
|
| TRCSSPCICR0 | 0x2C0 |
Selects the processor comparator inputs for Single-shot control. |
|
| TRCPDCR | 0x310 |
Controls the single-shot comparator. |
|
| TRCPDSR | 0x314 |
Indicates the power down status of the ETM. |
|
| TRCITATBIDR | 0xEE4 |
Sets the state of output pins. |
|
| TRCITIATBINR | 0xEF4 |
Reads the state of the input pins. |
|
| TRCITIATBOUTR | 0xEFC |
Sets the state of the output pins. |
|
| TRCITCTRL | 0xF00 |
Enables topology detection or integration testing, by putting ETM-M33 into integration mode. |
|
| TRCCLAIMSET | 0xFA0 |
Sets bits in the claim tag and determines the number of claim tag bits implemented. |
|
| TRCCLAIMCLR | 0xFA4 |
Clears bits in the claim tag and determines the current value of the claim tag. |
|
| TRCAUTHSTATUS | 0xFB8 |
Indicates the current level of tracing permitted by the system |
|
| TRCDEVARCH | 0xFBC |
The TRCDEVARCH identifies ETM-M33 as an ETMv4.2 component |
|
| TRCDEVTYPE | 0xFCC |
Controls the single-shot comparator. |
|
| TRCPIDR[n] | 0xFD0 |
Coresight peripheral identification registers. |
|
| TRCCIDR[n] | 0xFF0 |
Coresight component identification registers. |