Registers

nRF54L15 | nRF54L10 | nRF54L05 Datasheet

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.