57. Debug support (DBG)

57.1 Introduction

A comprehensive set of debug features is provided to support software development and system integration:

The debug features can be controlled via a JTAG/Serial-wire debug access port, using industry standard debugging tools. A trace port allows data to be captured for logging and analysis.

The debug features are based on Arm CoreSight components.

The debug features are accessible by the debugger via the AHB-AP.

Additional information can be found in the Arm documents referenced in Section 57.13: References .

57.2 DBG functional description

57.2.1 DBG block diagram

Figure 804. Block diagram of debug support infrastructure

Block diagram of debug support infrastructure for CPU Cortex-M33. It shows the internal components: SWJ-DP, AHB-AP, Core, DWT, BPU, ITM, TPIU, ETM, CTI, ROM table, and DBG_MCU. The SWJ-DP is connected to JTAG/Serial-wire port pins (JTMS/SWDIO, JTDI, JTDO, JTCK/SWCLK, nJTRST). The AHB-AP connects the SWJ-DP to the Core and other debug components. The Core is connected to the AHB-AP, DWT, BPU, ITM, ETM, CTI, and ROM table. The TPIU is connected to the ITM, ETM, and DBG_MCU. The DBG_MCU is connected to the TPIU and the ROM table. The Trace port pins (TRACECK, TRACED[3:0], TRACESWO) are connected to the TPIU. The diagram is labeled MSv49702V1.
Block diagram of debug support infrastructure for CPU Cortex-M33. It shows the internal components: SWJ-DP, AHB-AP, Core, DWT, BPU, ITM, TPIU, ETM, CTI, ROM table, and DBG_MCU. The SWJ-DP is connected to JTAG/Serial-wire port pins (JTMS/SWDIO, JTDI, JTDO, JTCK/SWCLK, nJTRST). The AHB-AP connects the SWJ-DP to the Core and other debug components. The Core is connected to the AHB-AP, DWT, BPU, ITM, ETM, CTI, and ROM table. The TPIU is connected to the ITM, ETM, and DBG_MCU. The DBG_MCU is connected to the TPIU and the ROM table. The Trace port pins (TRACECK, TRACED[3:0], TRACESWO) are connected to the TPIU. The diagram is labeled MSv49702V1.

57.2.2 DBG pins and internal signals

Table 629. JTAG/Serial-wire debug port pins

Pin nameJTAG debug portSW debug portPin assignment
TypeDescriptionTypeDescription
JTMS/SWDIOIJTAG test mode selectIOSerial-wire data in/outPA13
JTCK/SWCLKIJTAG test clockISerial-wire clockPA14
JTDI (1)IJTAG test data input--PA15
JTDOOJTAG test data output--PB3
nJTRSTIJTAG test reset--PB4

1. TDI is hosted on the same IO as a USBPD-CC line. To avoid pull-up/down conflict, a user option can help to decide whether the pad is used as TDI or as CC.

Table 630. Trace port pins

Pin nameTypeDescriptionPin assignment
TRACED0OTrace synchronous data out 0Refer to the datasheet
TRACED1Trace synchronous data out 1
TRACED2Trace synchronous data out 2
TRACED3Trace synchronous data out 3
TRACECKTrace clock
Table 631. Single-wire trace port pins
Pin nameTypeDescriptionPin assignment
TRACESWOOSingle-wire trace asynchronous data outPB3 (1)
  1. 1. TRACESWO is multiplexed with JTDO. This means that single-wire trace is only available when using the serial-wire debug interface, and not when using JTAG.

57.2.3 DBG reset and clocks

The debug port (SWJ-DP) is reset by a power-on reset and when waking up from Standby mode.

The debugger supplies the clock for the debug port via the debug interface pin JTCK/SWCLK. This clock is used to register the serial input data in both serial-wire and JTAG modes, as well as to operate the state machines and internal logic of the debug port. This clock must therefore continue to toggle for several cycles after the end of an access, to ensure that the debug port returns to the idle state.

The SWJ-DP contains an asynchronous interface to the DCLK domain, that covers the rest of the SWJ-DP and the access port.

The DCLK is a gated version of the system clock.

The DCLK domain is enabled by the debugger using the CDBGPWRUPREQ bit in the DP_CTRL_STAT. The clock must be enabled before the debugger can access any of the debug features on the device. The availability of the clock is reflected in the CDBGPWRUPACK bit in DP_CTRLSTAT. The DCLK is disabled at power-up, and must be disabled when the debugger is disconnected, to avoid wasting energy.

The debug and trace components included in the processor are clocked with the processor clock.

57.2.4 DBG power domains

The debug components are located in the core power domain. This means that the debugger connection is not possible in Shutdown or Standby low-power mode. To avoid losing the connection when the device enters Standby mode, the power can be maintained to the core by setting a bit in DBGMCU_CR. This also keeps the processor clocks active and holds off the reset, so that the debug session is maintained.

57.2.5 Debug and low-power modes

The devices include power saving features that allow the core power domain to be switched off or stopped when not required. If the power is switched off or if the core is not clocked, all debug components are inaccessible to the debugger. To avoid this, power-saving mode emulation is implemented. If the emulation is enabled for a domain, the domain still enters power-saving mode, but its clock and power are maintained. In other words, the domain behaves as if it is in power-saving mode, but the debugger does not lose the connection.

The emulation mode is programmed in the microcontroller debug (DBGMCU) unit. For more information, refer to Section 57.12: Microcontroller debug unit (DBGMCU) .

57.2.6 Security

The trace and debug components allow a high degree of access to the processor and system during product development. In order to protect user code and ensure that the debug features can not be used to alter or compromise the normal operation of the finished product, these features can be disabled or limited in scope. For example, secure software debug and trace can be disabled without preventing the debug of nonsecure code.

The following authentication signals are used by the system to determine which debug features are enabled or disabled:

For detailed information on the behavior of each component according to the state of the authentication signals, refer to the relevant component chapter or to the relevant Arm technical documentation.

The state of the signals are set according to the readout protection (RDP) level (see Section 3.11.1: Debug protection with readout protection (RDP) ), as shown in the table below:

Table 632. Authentication signal states

RDP levelAuthentication signal stateDescription
0dbgen = 1, spiden = 1
niden = 1, spniden = 1
Debug and trace is enabled whatever the state of the processor. The debugger access to secure memory is permitted.
0.5dbgen = 1, spiden = 0
niden = 1, spniden = 0
Debug and trace is enabled when the processor is in nonsecure state. The debugger access to secure memory is disabled.
1dbgen = 1, spiden = 0
niden = 1, spniden = 0
Debug and trace is enabled when the processor is in nonsecure state. The debugger access to secure memory is disabled, as well as to the following areas: flash memory, SRAM2, backup registers, ICACHE, on-the-fly decryption region (OCTOSPI).
2dbgen = 0, spiden = 0
niden = 0, spniden = 0
Debug and trace is disabled.

Note: Security features are only relevant when the option bit TZEN = 1. If security features are disabled, the authentication signals are still set according to the RDP level, but since the processor and all memories are nonsecure, spniden and spiden are redundant.

The state of the authentication signals can be read from DAUTHSTATUS register in the system control space (SCS) of the Cortex-M33.

The debugger access to secure memory (when permitted) must be performed using secure transactions on the debug AHB, that is, with PROT[6] set in AP_CSW.

The debugger access is disabled while the processor is booting from system flash memory (RSS), whatever the RDP level, if security features are enabled (TZEN = 1).

57.3 Serial-wire and JTAG debug port (SWJ-DP)

The SWJ-DP is a CoreSight component that implements an external access port for connecting debugging equipment.

Two types of interface can be configured:

These two modes are mutually exclusive, since they share the same IO pins.

By default, the JTAG-DP is selected after a system or a power-on reset. The five IO pins are configured by hardware in debug alternative function mode. The SWJ-DP incorporates pull-up resistors on JTDI, JTMS/SWDIO, and nJTRST, as well as a pull-down resistor on JTCK/SWCLK.

A debugger can select the SW-DP by transmitting the following serial data sequence on JTMS/SWDIO:

... (50 or more ones) ..., 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, ... (50 or more ones) ...

JTCK/SWCLK must be cycled for each data bit.

In SW-DP mode, the unused JTAG pins JTDI, JTDO and nJTRST can be used for other functions.

Note: All SWJ port I/Os can be reconfigured to other functions by software, but debugging is no longer possible.

57.3.1 JTAG debug port

The JTAG-DP implements a TAP state machine (TAPSM), shown in the figure below, based on IEEE Std 1149.1-1990. The state machine controls two scan chains, one associated with an instruction register (IR) and the other one with a number of data registers (DR).

Figure 805. JTAG TAP state machine

Figure 805. JTAG TAP state machine diagram showing the state transitions between Test-Logic-Reset, Run-Test/Idle, Select-DR-Scan, Select-IR-Scan, Capture-DR, Shift-DR, Exit1-DR, Pause-DR, Exit2-DR, Update-DR, Capture-IR, Shift-IR, Exit1-IR, Pause-IR, Exit2-IR, and Update-IR states, controlled by JTMS signals.
stateDiagram-v2
    [*] --> Test-Logic-Reset: JTMS=1
    Test-Logic-Reset --> Test-Logic-Reset: JTMS=1
    Test-Logic-Reset --> Run-Test/Idle: JTMS=0
    Run-Test/Idle --> Run-Test/Idle: JTMS=0
    Run-Test/Idle --> Select-DR-Scan: JTMS=1
    Run-Test/Idle --> Select-IR-Scan: JTMS=1
    Select-DR-Scan --> Select-DR-Scan: JTMS=1
    Select-DR-Scan --> Capture-DR: JTMS=0
    Select-IR-Scan --> Select-IR-Scan: JTMS=1
    Select-IR-Scan --> Capture-IR: JTMS=0
    Capture-DR --> Capture-DR: JTMS=1
    Capture-DR --> Shift-DR: JTMS=0
    Capture-IR --> Capture-IR: JTMS=1
    Capture-IR --> Shift-IR: JTMS=0
    Shift-DR --> Shift-DR: JTMS=0
    Shift-DR --> Exit1-DR: JTMS=1
    Shift-IR --> Shift-IR: JTMS=0
    Shift-IR --> Exit1-IR: JTMS=1
    Exit1-DR --> Exit1-DR: JTMS=1
    Exit1-DR --> Pause-DR: JTMS=0
    Exit1-IR --> Exit1-IR: JTMS=1
    Exit1-IR --> Pause-IR: JTMS=0
    Pause-DR --> Pause-DR: JTMS=0
    Pause-DR --> Exit2-DR: JTMS=1
    Pause-IR --> Pause-IR: JTMS=0
    Pause-IR --> Exit2-IR: JTMS=1
    Exit2-DR --> Exit2-DR: JTMS=0
    Exit2-DR --> Update-DR: JTMS=1
    Exit2-IR --> Exit2-IR: JTMS=0
    Exit2-IR --> Update-IR: JTMS=1
    Update-DR --> Update-DR: JTMS=0
    Update-DR --> Run-Test/Idle: JTMS=1
    Update-IR --> Update-IR: JTMS=0
    Update-IR --> Run-Test/Idle: JTMS=1
  
Figure 805. JTAG TAP state machine diagram showing the state transitions between Test-Logic-Reset, Run-Test/Idle, Select-DR-Scan, Select-IR-Scan, Capture-DR, Shift-DR, Exit1-DR, Pause-DR, Exit2-DR, Update-DR, Capture-IR, Shift-IR, Exit1-IR, Pause-IR, Exit2-IR, and Update-IR states, controlled by JTMS signals.

The operation of the JTAG-DP is as follows:

  1. 1. When the TAPSM goes through the Capture-IR state, 0b0001 is transferred to the instruction register (IR) scan chain. The IR scan chain is connected between JTDI and JTDO.
  2. 2. While the TAPSM is in the Shift-IR state, the IR scan chain shifts one bit for each rising edge of JTCK. This means that on the first tick:
    • – The LSB of the IR scan chain is output on JTDO.
    • – Bit[n] of the IR scan chain is transferred to bit[n-1].
    • – The value on JTDI is transferred to the MSB of the IR scan chain.
  1. 3. When the TAPSM goes through the Update-IR state, the value scanned into the IR scan chain is transferred to the instruction register.
  2. 4. When the TAPSM goes through the Capture-DR state, a value is transferred from one of the data registers to one of the DR scan chains, connected between JTDI and JTDO.
  3. 5. The value held in the instruction register determines which data register, and associated DR scan chain, are selected.
  4. 6. This data is then shifted while the TAPSM is in the Shift-DR state, in the same manner as the IR shifts in the Shift-IR state.
  5. 7. When the TAPSM goes through the Update-DR state, the value scanned into the DR scan chain is transferred to the selected data register.
  6. 8. When the TAPSM is in the Run-Test/Idle state, no special actions occurs. The IDCODE instruction is loaded in IR.

When active, the nJTRST signal resets the state machine asynchronously to the test-logic-reset state.

The data registers corresponding to the 4-bit IR instructions are listed in the table below.

Table 633. JTAG-DP data registers

IR instructionDR registerScan chain lengthDescription
0000 to 0111(BYPASS)1Not implemented: BYPASS selected
1000ABORT35ABORT register
– bits 31:1 = reserved
– bit 0 = APABORT: write 1 to generate an AP abort.
1001(BYPASS)1Reserved: BYPASS selected
1010DPACC35Debug port access register
Initiates the debug port and gives access to a debug port register.
– When transferring data IN:
bits 34:3 = DATA[31:0] = 32-bit data to transfer for a write request
bits 2:1 = A[3:2] = 2-bit address of a debug port register
bit 0 = RnW = read request (1) or write request (0)
– When transferring data OUT:
bits 34:3 = DATA[31:0] = 32-bit data read following a read request
bits 2:0 = ACK[2:0] = 3-bit acknowledge:
– 010 = OK/FAULT
– 001 = WAIT
– others = reserved

Table 633. JTAG-DP data registers (continued)

IR instructionDR registerScan chain lengthDescription
1011APACC35Access port access register
Initiates an access port and gives access to an access port register.
– When transferring data IN:
bits 34:3 = DATA[31:0] = 32-bit data to shift in for a write request
bits 2:1 = A[3:2] = 2-bit sub-address of an access port register
bit 0 = RnW= Read request (1) or write request (0)
– When transferring data OUT:
bits 34:3 = DATA[31:0] = 32-bit data read following a read request
bits 2:0 = ACK[2:0] = 3-bit Acknowledge:
– 010 = OK/FAULT
– 001 = WAIT
– others= reserved
1100(BYPASS)1Reserved: BYPASS selected
1101(BYPASS)1Reserved: BYPASS selected
1110IDCODE32Identification code
0x0BA0 4477: Cortex-M33 JTAG debug port ID code
1111BYPASS1Bypass: A single JTAG cycle delay is inserted between JTDI and JTDO.

The DR registers are detailed in the Arm Debug Interface Architecture Specification (see Section 57.13: References ).

57.3.2 Serial-wire debug port

The serial-wire debug protocol uses the following pins:

Serial data is transferred LSB first, synchronously with the clock.

A transfer comprises three phases:

  1. 1. packet request (8 bits) transmitted by the host (see Table 634 )
  2. 2. acknowledge response (3 bits) transmitted by the target (see Table 635 )
  3. 3. data transfer (33 bits) transmitted by the host (in case of a write) or target (in case of a read) (see Table 636 )

The data transfer only occurs if the acknowledge response is OK.

Between each phase, if the direction of the data is reversed, a single clock cycle turn-around time is inserted.

Table 634. Packet request

Bit fieldNameDescription
0StartMust be 1.
1APnDP– 0: DP register access - see Section 57.3.3: Debug port registers
– 1: AP register access - see Section 57.4: Access ports
Table 634. Packet request (continued)
Bit fieldNameDescription
2RnW– 0: write request
– 1: read request
4:3A(3:2)Address field of the DP or AP register (refer to Table 637 or Table 638 )
5ParitySingle bit parity of preceding bits
6Stop0
7ParkNot driven by host, must be read as 1 by target.
Table 635. ACK response
Bit fieldNameDescription
2:0ACK– 000: FAULT
– 010: WAIT
– 100: OK
Table 636. Data transfer
Bit fieldNameDescription
31:0WDATA or RDATAWrite or read data
32ParitySingle bit parity of 32 data bits

In the case of a FAULT or WAIT ACK response from the target, the data transfer phase is canceled, unless overrun detection is enabled: in this case, the data is ignored by the target (in the case of a write), or not driven (in the case of a read).

A line reset must be generated by the host when it is first connected, or following a protocol error. The line reset consists in 50 or more SWCLK cycles with SWDIO high, followed by two SWCLK cycles with SWDIO low.

For more details on the serial-wire debug protocol, refer to the Arm Debug Interface Architecture Specification [ 1 ].

Note: The SWJ-DP implements SWD protocol version 2.

57.3.3 Debug port registers

Both SW-DP and JTAG-DP access the debug port (DP) registers listed in Table 637 .

The debugger can access the DP registers as follows:

  1. 1. Program the A(3:2) field in the DPACC register, if using JTAG, with the register address within the bank. Program the RnW bit to select a read or write. In the case of a write, program the data field with the write data. If using SWD, the A(3:2) and RnW fields are part of the packet request word sent to the SW-DP with the APnDP bit reset (see Table 634 ). The write data are sent in the data phase.
  2. 2. To access one of the banked DP registers at address 0x4, the register number must first be written to the DP_SELECTR register at address 0x8. Any subsequent read or

write to address 0x4 access the register corresponding to the contents of DP_SELECTR.

DP debug port identification register (DP_PIDR)

Address offset: 0x0

Reset value: 0x0BE0 2477 (SW DP)

For JTAG_DP, reset value is 0x0BE0 1477

31302928272625242322212019181716
REVISION[3:0]PARTNO[7:0]Res.Res.Res.MIN
rrrrrrrrrrrrr
1514131211109876543210
VERSION[3:0]DESIGNER[10:0]Res.
rrrrrrrrrrrrrrr

Bits 31:28 REVISION[3:0] : Revision code

0x0: r0p0 (for JTAG_DP and SW_DP)

Bits 27:20 PARTNO[7:0] : Part number for the debug port

0xBE

Bits 19:17 Reserved, must be kept at reset value.

Bit 16 MIN : Minimal debug port (MINDP) implementation

0x1: MINDP implemented (transaction counter and pushed operations are not supported)

Bits 15:12 VERSION[3:0] : Debug port architecture version

0x1: DPv1 (JTAG_DP)

0x1: DPv2 (SW_DP)

Bits 11:1 DESIGNER[10:0] : JEDEC designer identity code

0x23B: Arm JEDEC code

Bit 0 Reserved, must be kept at reset value.

DP abort register (DP_ABORT)

Address offset: 0x0

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ORUN
ERRCLR
R
WDER
RCLR
STKER
RCLR
Res.DAPAB
ORT
wwww

Bits 31:5 Reserved, must be kept at reset value.

Bit 4 ORUNERRCLR : Overrun error clear

0: No effect

1: STICKYORUN bit cleared in DP_CTRL_STAT register

Bit 3 WDERRCLR : Write data error clear

0: No effect

1: WDATAERR bit cleared in DP_CTRL_STAT register

Bit 2 STKERRCLR : Sticky error clear

0: No effect

1: STICKYERR bit cleared in DP_CTRL_STAT register

Bit 1 Reserved, must be kept at reset value.

Bit 0 DAPABORT : Current AP transaction aborted if excessive number of WAIT responses returned

This bit indicates that the transaction is stalled.

0: No effect

1: Transaction aborted

DP control and status register (DP_CTRL_STAT)

Address offset: 0x4

Reset value: 0x0000 0000

This register is accessible when DP_SELECT.DPBANKSEL[3:0] = 0x0.

31302928272625242322212019181716
Res.Res.CDBG
PWRU
PACK
CDBG
PWRU
PREQ
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
rr
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.WDATA
ERR
READ
OK
STICK
YERR
Res.Res.Res.STICK
YORUN
ORUN
DETECT
rrrrr

Bits 31:30 Reserved, must be kept at reset value.

Bit 29 CDBGPWRUPACK : Debug power-up acknowledge

See description in Section 57.2.5: Debug and low-power modes .

0: DCLK gated

1: DCLK enabled

Bit 28 CDBGPWRUPREQ : Debug power-up request

This bit controls the DCLK enable request signal.

0: Requests DCLK gating

1: Requests DCLK enable

Bits 27:8 Reserved, must be kept at reset value.

Bit 7 WDATAERR : Write data error (read-only) in SW-DP

This bit indicates that there is a parity or framing error on the data phase of a write, or a write accepted by the DP is then discarded without being submitted to the AP.

This bit is reset by writing 1 to DP_ABORT.WDERRCLR.

0: No error

1: An error occurred

Note: This bit is reserved in JTAG-DP.

Bit 6 READOK : AP read response (read-only) in SW-DP

This bit indicates the response to the last AP read access.

0: Read not OK

1: Read OK

Note: This bit is reserved in JTAG-DP.

Bit 5 STICKYERR : Transaction error (read-only in SW-DP, read/write in JTAG-DP)

This bit indicates that an error occurred in an AP transaction. It is reset by writing 1 to DP_ABORT.STKERRCLR (in SW-DP and JTAG-DP)

0: No error

1: An error occurred

Bits 4:2 Reserved, must be kept at reset value.

Bit 1 STICKYORUN : Overrun (read-only in SW-DP, read/write in JTAG-DP)

This bit indicates that an overrun occurred (new transaction received before previous transaction completed). This bit is only set if the ORUNDETECT bit is set. It is reset by writing 1 to DP_ABORT.ORUNERRCLR (in SW-DP and JTAG-DP).

0: No overrun

1: An overrun occurred

Bit 0 ORUNDETECT : Overrun detection mode enable

0: Disabled

1: Enabled. In the event of an overrun, the STICKYORUN bit is set, and subsequent transactions are blocked until the STICKYORUN bit is cleared.

DP data link control register (DP_DLCR)

Address offset: 0x4

Reset value: 0x0000 0000

This register is accessible when DP_SELECT.DPBANKSEL[3:0] = 0x1.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.TURNROUND[1:0]WIREMODE[1:0]Res.Res.Res.Res.Res.Res.Res.Res.
rrrr

Bits 31:10 Reserved, must be kept at reset value.

Bits 9:8 TURNROUND[1:0] : Tristate period for SWDIO

0x0: One data bit period

Bits 7:6 WIREMODE[1:0] : SW-DP mode

0x0: Synchronous mode

Bits 5:0 Reserved, must be kept at reset value.

DP target identification register (DP_TARGETID)

Address offset: 0x4

Reset value: 0xXXXX 0041

This register is accessible when DP_SELECT.DPBANKSEL[3:0] = 0x2.

31302928272625242322212019181716
TREVISION[3:0]TPARTNO[15:4]
rrrrrrrrrrrrrrrr
1514131211109876543210
TPARTNO[3:0]TDESIGNER[10:0]Res.
rrrrrrrrrrrrrrr

Bits 31:28 TREVISION[3:0] : Target revision

0x1: For all revisions

Bits 27:12 TPARTNO[15:0] : Target part number

0x42A0: STM32U3B5/3C5

0x42B0: STM32U356/366

0x4540: STM32U375/385

Bits 11:1 TDESIGNER[10:0] : Target designer JEDEC code

0x020: STMicroelectronics

Bit 0 Reserved, must be kept at reset value.

Address offset: 0x4

Reset value: 0x0000 0001

This register is accessible when DP_SELECT.DPBANKSEL[3:0] = 0x3.

31302928272625242322212019181716
TINSTANCE[3:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
rrrr
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PROTSVN[3:0]
rrrr

Bits 31:28 TINSTANCE[3:0] : Target instance number

This bifield defines the instance number for the device in a multi-drop system.

0x0: Instance number 0

Bits 27:4 Reserved, must be kept at reset value.

Bits 3:0 PROTSVN[3:0] : Serial-wire debug protocol version
0x1: version 2

DP event status register (DP_EVENTSTAT)

Address offset: 0x4

Reset value: 0x0000 0001

This register is accessible when DP_SELECT.DPBANKSEL[3:0] = 0x4.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EA
r

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 EA : Event status flag
0: Cortex-M33 processor halted
1: Cortex-M33 processor not halted

DP event status register (DP_RESEND)

Address offset: 0x8

Reset value: 0x0000 0000

31302928272625242322212019181716
RESEND[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
RESEND[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 RESEND[31:0] : Value returned by the last AP read or DP_RDBUFF read
This register is used in the event of a corrupted read transfer.

DP access port select register (DP_SELECT)

Address offset: 0x8

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
APSEL[7:0]Res.Res.Res.Res.Res.Res.Res.Res.
wwwwwwww
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.APBANKSEL[3:0]DPBANKSEL[3:0]
wwwwwwww

Bits 31:24 APSEL[7:0] : Access port select

This bitfield selects the access port for the next transaction.

0x0: AP0 - Cortex-M33 debug access port (AHB-AP)

Others: Reserved

Bits 23:8 Reserved, must be kept at reset value.

Bits 7:4 APBANKSEL[3:0] : AP register bank select

This bitfield selects the 4-word register bank on the active AP for the next transaction.

Bits 3:0 DPBANKSEL[3:0] : DP register bank select

This bitfield selects the register at address 0x4 of the debug port.

0x0: DP_CTRL_STAT register

0x1: DP_DLCR register

0x2: DP_TARGETID register

0x3: DP_DLPIDR register

0x4: DP_EVENTSTAT register

Others: Reserved

DP read buffer register (DP_RDBUFF)

Address offset: 0xC

Reset value: 0x0000 0000

31302928272625242322212019181716
RDBUFF[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
RDBUFF[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 RDBUFF[31:0] : Value returned by the last AP read access

The value returned by an AP read access can either be obtained using a second read access to the same address, that initiates a new transaction on the corresponding bus, or else it can be read from this register, in which case no new AP transaction occurs.

57.3.4 Debug port register map

Table 637. Debug port register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x0DP_PIDRREVISION [3:0]PARTNO[7:0]Res.Res.Res.MINVERSION [3:0]DESIGNER[10:0]Res.
Reset value0000101111100001001000111011
0x0DP_ABORTRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ORUNERRCLRWDERRCLRSTKERRCLRRes.
Reset value0000

Table 637. Debug port register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x4 (1)DP_CTRL_STATRes.Res.CDBGPWURUPACKCDBGPWURUPREQRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WDATAERRREADOKSTICKYERRRes.Res.Res.STICKYORUNORUNDETECT
Reset value0000000
0x4 (2)DP_DLCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TURNROUND [1:0]WIREMODE [1:0]Res.Res.Res.Res.Res.Res.Res.Res.
Reset value0000
0x4 (3)DP_TARGETIDTREVISON [3:0]TPARTNO[15:0]Res.
Reset valueXXXXXXXXXXXXXXXX0000000001000000
0x4 (4)DP_DLPIDRTINSTANCE [3:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PROTSVN [3:0]Res.
Reset value000001
0x4 (5)DP_EVENTSTATRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EA
Reset value1
0x8DP_RESENDRESEND[31:0]
Reset value0000000000000000000000000000000
0x8DP_SELECTAPSEL[7:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.APBANKSEL [3:0]DPBANKSEL [3:0]Res.
Reset valuexxxxxxxxxxxxxxx
0xCDP_RDBUFFRDBUFF[31:0]
Reset value0000000000000000000000000000000
  1. 1. DP_SELECTR.DPBANKSEL[3:0] = 0x0.
  2. 2. DP_SELECTR.DPBANKSEL[3:0] = 0x1.
  3. 3. DP_SELECTR.DPBANKSEL[3:0] = 0x2.
  4. 4. DP_SELECTR.DPBANKSEL[3:0] = 0x3.
  5. 5. DP_SELECTR.DPBANKSEL[3:0] = 0x4.

57.4 Access ports

There is one access port (AP) attached to the DP. It enables the access to the debug and trace features integrated in the Cortex-M33 processor core via its internal AHB bus.

57.4.1 Access port registers

The access port is of MEM-AP type: the debug and trace component registers are mapped in the address space of the AHB. The AP is seen by the debugger as a set of 32-bit registers organized in banks of four registers each. Some of these registers are used to

configure or monitor the AP itself, while others are used to perform a transfer on the bus. The AP registers are listed in Table 638 .

The address of the AP registers is composed of the following fields:

The content of DP_SELECT.APSEL[3:0] defines which MEM-AP is being accessed.

The debugger can access the AP registers as follows:

  1. 1. Program APSEL[3:0] in DP_SELECT to choose the AP, and APBANKSEL[3:0] in DP_SELECT to select the register bank to be accessed.
  2. 2. Program the A(3:2) field in the APACC data register, if using JTAG, with the register address within the bank. Program the RnW bit to select a read or write. In the case of a write, program the DATA field with the write data. If using SWD, the A(3:2) and RnW fields are part of the packet request word sent to the SW-DP with the APnDP bit set (see Table 634 ). The write data is sent in the data phase.

The debugger can access the memory mapped debug component registers through the AP registers (using the above AP register access procedure) as follows:

  1. 1. Program the transaction target address in AP_TAR.
  2. 2. Program AP_CSW, if necessary, with the transfer parameters (AddrInc for example).
  3. 3. Write to or read from AP_DRW to initiate a bus transaction at the address held in AP_TAR. Alternatively, a read or write to AP_BDn triggers an access to TAR[31:4] + n address, allowing up to four consecutive addresses to be accessed without changing the address in the AP_TAR register.

For more detailed information on the MEM-AP, refer to the Arm Debug Interface Architecture Specification ( Section 57.13: References ).

AP control/status word register (AP_CSW)

Address offset: 0x0

Reset value: 0x0100 00X0

31302928272625242322212019181716
Res.PROT[6]Res.Res.PROT[3:0]Res.Res.Res.Res.Res.Res.Res.Res.
rwrwrwrwr
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.DBGST
ATUS
ADDRINC[1:0]Res.SIZE[2:0]
rrwrwrwrwrw

Bit 31 Reserved, must be kept at reset value.

Bit 30 PROT[6] : Secure transfer request

This bit sets the protection attribute HPROT[6] of the bus transfer.

0: Secure transfer

1: Nonsecure transfer

Bits 29:28 Reserved, must be kept at reset value.

Bits 27:24 PROT[3:0] : Bus transfer protection

This bitfield sets the protection attributes HPROT[3:0] of the bus transfer.

0bXXX1: Data access (bit 24 is read only)

0bXX0X: Unprivilege mode

0bXX1X: Privilege mode

0bX0XX: Nonbufferable

0bX1XX: Bufferable

0b0XXX: Non-shareable, no look-up, non-modifiable

0b1XXX: Shareable, look-up, modifiable

Bits 23:7 Reserved, must be kept at reset value.

Bit 6 DBGSTATUS : Device enable (DEVICEEN) status

0: AHB transfers blocked

1: AHB transfers enabled

Bits 5:4 ADDRINC[1:0] : Auto-increment mode

Defines whether TAR address is automatically incremented after a transaction.

0x0: No auto-increment

0x1: Address incremented by the size in bytes of the transaction (SIZE[2:0])

Other: Reserved

Bit 3 Reserved, must be kept at reset value.

Bits 2:0 SIZE[2:0] : Size of next memory access transaction

0x0: Byte (8-bit)

0x1: Half-word (16-bit)

0x2: Word (32-bit)

Others: Reserved

AP transfer address register (AP_TAR)

Address offset: 0x04

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
TA[31:16]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
TA[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:0 TA[31:0] : Address of current transfer

AP data read/write register (AP_DRWR)

Address offset: 0x0C

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
TD[31:16]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
TD[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
Bits 31:0 TD[31:0] : Data of current transfer AP banked data n register (AP_BDn)

Address offset: 0x10 + 0x4 * n, (n = 0 to 3)

Reset value: 0x0000 0000

31302928272625242322212019181716
TBD[31:16]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
TBD[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
Bits 31:0 TBD[31:0] : Banked data of current transfer to address TAR \( TA + n \times 4 \) .

The auto address incrementing is not performed on AP_BD0-3. Banked transfers are only supported for word transfers.

AP configuration register (AP_CFG)

Address offset: 0xF4

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LDLABE
rrr

Bits 31:3 Reserved, must be kept at reset value.

Bit 2 LD : Large data

0: Data not larger than 32 bits supported

Bit 1 LA : Long address

0: Physical addresses not larger than 32 bits supported

Bit 0 BE : Big endian
0: Only little-endian supported

AP base address register (AP_BASE)

Address offset: 0xF8

Reset value: 0xE00F E003

31302928272625242322212019181716
BASEADDR[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
BASEADDR[15:12]Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FORMATENTRYPRESENT
rrrrrr

Bits 31:12 BASEADDR[31:12] : base address (bits 31 to 12) of the first ROM table

The 12 LSBs are zero since the ROM table must be aligned on a 4-Kbyte boundary.
0xE00FE

Bits 11:2 Reserved, must be kept at reset value.

Bit 1 FORMAT : base-address register format
1: Arm debug interface v5

Bit 0 ENTRYPRESENT : debug components presence
Indicates that debug components are present on the access port bus.
1: debug components present

AP identification register (AP_IDR)

Address offset: 0xFC

Reset value: 0x1477 0015

31302928272625242322212019181716
REVISION[3:0]JEDECBANK[3:0]JEDECCODE[6:0]CLASS[3]
rrrrrrrrrrrrrrrr
1514131211109876543210
CLASS[2:0]Res.Res.Res.Res.Res.VARIANT[3:0]TYPE[3:0]
rrrrrrrrrrr

Bits 31:28 REVISION[3:0] : Revision number
0x1: r0p1

Bits 27:24 JEDECBANK[3:0] : JEDEC bank
0x4: Arm

Bits 23:17 JEDECCODE[6:0] : JEDEC code
0x3B: Arm

Bits 16:13 CLASS[3:0] :

0x8: MEM-AP

Bits 12:8 Reserved, must be kept at reset value.

Bits 7:4 VARIANT[3:0] : Variant

0x1: Cortex-M33

Bits 3:0 TYPE[3:0] : Type

0x5: AHB5

57.4.2 Access port register map

Table 638. Access port register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x00AP_CSWResPROT[8]ResResPROT[3:0]ResResResResResResResResResResResResResResResResResDBGSTATUSADDRINC[1:0]ResSIZE[2:0]
Reset value00001XXX000
0x04AP_TARTA[31:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x08ReservedReserved
0x0CAP_DRWTD[31:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x10 +
0x4 * n
(n=0 to 3)
AP_BDnTBD[31:0]
Reset value0000000000000000000000000000000
0x20 to
0xF0
ReservedReserved
0xF4AP_CFGResResResResResResResResResResResResResResResResResResResResResResResResResResResResResLDLABE
Reset value000
0xF8AP_BASEBASEADDR[31:12]ResResResResResResResResResResFORMATENTRYPRESENT
Reset value1110000000001111111011
0xFCAP_IDRREVISION[3:0]JEDECBANK[3:0]JEDECCODE[6:0]CLASS[3:0]ResResResResResVARIANT[3:0]TYPE[3:0]
Reset value000101000111011100000010101

57.5 ROM tables

The ROM table is a CoreSight component that contains the base addresses of all the CoreSight debug components accessible via the AHB-AP. These tables allow a debugger to discover the topology of the CoreSight system automatically.

There are two ROM tables in the CPU sub-system. The MCU ROM table is pointed to by the base register in the AHB-AP. It contains the base-address pointer for the processor ROM table and for the TPIU registers, as well as for the MCU debug unit.

The MCU ROM table (see the table below) occupies a 4-Kbyte, 32-bit wide chunk of address space, from 0xE00F E000 to 0xE00F EFFC.

Table 639. MCU ROM table

Address in ROM tableComponent nameComponent base addressComponent address offsetSize (Kbytes)Entry
0xE00F E000Processor ROM table0xE00F F0000x0000 100040x0000 1003
0xE00F E004TPIU0xE004 00000xFFF4 200040xFFF4 2003
0xE00F E008DBGMCU0xE004 40000xFFF4 600040xFFF4 6003
0xE00F E00CReserved---0x1FF0 2002
0xE00F E010Top of table---0x0000 0000
0xE00F E014 to 0xE00F EFC8Reserved---0x0000 0000
0xE00F EFCC to 0xE00F EFFCROM table registers---See Table 641

The processor ROM table contains the base-address pointer for the system control space (SCS) registers, that allow the debugger to identify the CPU core, as well as for the BPU, DWT, ITM, ETM and CTI.

The processor ROM table (see the table below) occupies a 4-Kbyte, 32-bit wide chunk of address space, from 0xE00F F000 to 0xE00F FFFC.

Table 640. Processor ROM table

Address in ROM tableComponent nameComponent base addressComponent address offsetSize (Kbytes)Entry
0xE00F F000SCS0xE000 E0000xFFF0 F00040xFFF0 F003
0xE00F F004DWT0xE000 10000xFFF0 200040xFFF0 2003
0xE00F F008BPU0xE000 20000xFFF0 300040xFFF0 3003
0xE00F F00CITM0xE000 00000xFFF0 100040xFFF0 1003
0xE00F F010Reserved---0xFFF4 1002
0xE00F F014ETM0xE004 10000xFFF4 200040xFFF4 2003
0xE00F F018CTI0xE004 20000xFFF4 300040xFFF4 3003
0xE00F F01CReserved---0xFFF4 4002
0xE00F F020Top of table---0x0000 0000
0xE00F F024 to 0xE00F FFC8Reserved---0x0000 0000
0xE00F FFCC to 0xE00F FFFCROM table registers---See Table 642

The topology for the CoreSight components in the Cortex -M33 is shown in the figure below.

Figure 806. CoreSight topology

Figure 806. CoreSight topology diagram showing the interconnection of various debug components like AHB-AP, ROM tables, SCS, BPU, ITM, ETM, and CTI.

The diagram illustrates the CoreSight topology for the Cortex-M33. It shows the following components and their connections:

Connections are shown via arrows indicating the flow of data and control signals between the base register, ROM tables, and the various CoreSight components. The diagram is labeled with MSV62650V2 at the bottom right.

Figure 806. CoreSight topology diagram showing the interconnection of various debug components like AHB-AP, ROM tables, SCS, BPU, ITM, ETM, and CTI.

57.5.1 MCU ROM table registers

MCU ROM memory type register (MCUROM_MEMTYPER)

Address offset: 0xFCC

Reset value: 0x0000 0001

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SYSTM
r

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 SYSTM : System memory

0x1: System memory present on this bus

MCU ROM CoreSight peripheral identity register 4 (MCUROM_PIDR4)

Address offset: 0xFD0

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.SIZE[3:0]JEP106CON[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SIZE[3:0] : Register file size

0x0: The register file occupies a single 4-Kbyte region.

Bits 3:0 JEP106CON[3:0] : JEP106 continuation code

0x0: STMicroelectronics JEDEC continuation code

MCU ROM CoreSight peripheral identity register 0 (MCUROM_PIDR0)

Address offset: 0xFE0

Reset value: 0x0000 0054

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PARTNUM[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PARTNUM[7:0] : Part number bits [7:0]

0x2A: STM32U3B5/3C5

0x2B: STM32U356/366

0x54: STM32U375/385

MCU ROM CoreSight peripheral identity register 1(MCUROM_PIDR1)

Address offset: 0xFE4

Reset value: 0x0000 0004

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID[3:0]PARTNUM[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 JEP106ID[3:0] : JEP106 identity code bits [3:0]

0x0: STMicroelectronics JEDEC code

Bits 3:0 PARTNUM[11:8] : Part number bits [11:8]

0x4: STM32U356/366 or STM32U375/385 or STM32U3B5/3C5

MCU ROM CoreSight peripheral identity register 2 (MCUROM_PIDR2)

Address offset: 0xFE8

Reset value: 0x0000 000A

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVISION[3:0]JEDECJEP106ID[6:4]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVISION[3:0] : Component revision number

0x0: rev r0p0

Bit 3 JEDEC : JEDEC assigned value

1: Designer identification specified by JEDEC

Bits 2:0 JEP106ID[6:4] : JEP106 identity code bits [6:4]

0x2: STMicroelectronics JEDEC code

MCU ROM CoreSight peripheral identity register 3 (MCUROM_PIDR3)

Address offset: 0xFEC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVAND[3:0]CMOD[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVAND[3:0] : Metal fix version

0x0: No metal fix

Bits 3:0 CMOD[3:0] : Customer modified

0x0: No customer modifications

MCU ROM CoreSight component identity register 0 (MCUROM_CIDR0)

Address offset: 0xFF0

Reset value: 0x0000 000D

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[7:0] : Component identification bits [7:0]

0x0D: Common identification value

MCU ROM CoreSight peripheral identity register 1 (MCUROM_CIDR1)

Address offset: 0xFF4

Reset value: 0x0000 0010

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 CLASS[3:0] : Component identification bits [15:12] - component class
0x1: ROM table component

Bits 3:0 PREAMBLE[11:8] : Component identification bits [11:8]
0x0: Common identification value

MCU ROM CoreSight component identity register 2 (MCUROM_CIDR2)

Address offset: 0xFF8

Reset value: 0x0000 0005

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[19:12] : Component identification bits [23:16]
0x05: Common identification value

MCU ROM CoreSight component identity register 3 (MCUROM_CIDR3)

Address offset: 0xFFC

Reset value: 0x0000 00B1

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[27:20] : Component identification bits [31:24]
0xB1: Common identification value

57.5.2 MCU ROM table register map

Table 641. MCU ROM table register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SYSMEM
0xFCCMCUROM_MEMTYPER
Reset value1

Table 641. MCU ROM table register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0xFD0MCUROM_PIDR4Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SIZE[3:0]JEP106CON [3:0]
Reset value00000000
0xFD4-0xFDCReservedReserved
0xFE0MCUROM_PIDR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PARTNUM[7:0]
Reset value01010100
0xFE4MCUROM_PIDR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID [3:0]PARTNUM [11:8]
Reset value00000100
0xFE8MCUROM_PIDR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.REVISION [3:0]JEDECJEP106ID [6:4]
Reset value00001010
0xFECMCUROM_PIDR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.REVAND[3:0]CMOD[3:0]
Reset value00000000
0xFF0MCUROM_CIDR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
Reset value00001101
0xFF4MCUROM_CIDR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE [11:8]
Reset value00010000
0xFF8MCUROM_CIDR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
Reset value00000101
0xFFCMCUROM_CIDR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
Reset value10110001

Refer to Section 2.3 for register boundary addresses.

57.5.3 Processor ROM table registers

CPU ROM memory type register (CPUROM_MEMTYPER)

Address offset: 0xFCC

Reset value: 0x0000 0001

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SYSME
M
r

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 SYSTEM : System memory

1: System memory present on this bus

CPU ROM CoreSight peripheral identity register 4 (CPUROM_PIDR4)

Address offset: 0xFD0

Reset value: 0x0000 0004

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.SIZE[3:0]JEP106CON[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SIZE[3:0] : Register file size

0x0: The register file occupies a single 4-Kbyte region.

Bits 3:0 JEP106CON[3:0] : JEP106 continuation code

0x4: Arm JEDEC continuation code

CPU ROM CoreSight peripheral identity register 0 (CPUROM_PIDR0)

Address offset: 0xFE0

Reset value: 0x0000 00C9

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PARTNUM[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PARTNUM[7:0] : Part number bits [7:0]

0xC9: Cortex-M33

CPU ROM CoreSight peripheral identity register 1 (CPUROM_PIDR1)

Address offset: 0xFE4

Reset value: 0x0000 00B4

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID[3:0]PARTNUM[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 JEP106ID[3:0] : JEP106 identity code bits [3:0]

0xB: Arm JEDEC code

Bits 3:0 PARTNUM[11:8] : Part number bits [11:8]

0x4: Cortex-M33

CPU ROM CoreSight peripheral identity register 2 (CPUROM_PIDR2)

Address offset: 0xFE8

Reset value: 0x0000 000B

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVISION[3:0]JEDECJEP106ID[6:4]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVISION[3:0] : Component revision number

0x0: rev r0p0

Bit 3 JEDEC : JEDEC assigned value

1: Designer ID specified by JEDEC

Bits 2:0 JEP106ID[6:4] : JEP106 identity code bits [6:4]

0x3: Arm JEDEC code

CPU ROM CoreSight peripheral identity register 3 (CPUROM_PIDR3)

Address offset: 0xFEC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVAND[3:0]CMOD[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVAND[3:0] : Metal fix version

0x0: No metal fix

Bits 3:0 CMOD[3:0] : Customer modified

0x0: No customer modifications

CPU ROM CoreSight component identity register 0 (CPUROM_CIDR0)

Address offset: 0xFF0

Reset value: 0x0000 000D

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[7:0] : Component identification bits [7:0]

0x0D: Common identification value

CPU ROM CoreSight peripheral identity register 1 (CPUROM_CIDR1)

Address offset: 0xFF4

Reset value: 0x0000 0010

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 CLASS[3:0] : Component identification bits [15:12] - component class
0x1: ROM table component

Bits 3:0 PREAMBLE[11:8] : Component identification bits [11:8]
0x0: Common identification value

CPU ROM CoreSight component identity register 2 (CPUROM_CIDR2)

Address offset: 0xFF8

Reset value: 0x0000 0005

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[19:12] : Component identification bits [23:16]
0x05: Common identification value

CPU ROM CoreSight component identity register 3 (CPUROM_CIDR3)

Address offset: 0xFFC

Reset value: 0x0000 00B1

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[27:20] : Component identification bits [31:24]
0xB1: Common identification value

57.5.4 Processor ROM table register map

Table 642. CPU ROM table register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0xFCCCPUROM_MEMTYPERRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SYSMEM
Reset value1

Table 642. CPU ROM table register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0xFD4-0xFDCReservedReserved
0xFD0CPUROM_PIDR4Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SIZE[3:0]JEP106CON [3:0]
Reset value00000100
0xFE0CPUROM_PIDR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PARTNUM[7:0]
Reset value11001001
0xFE4CPUROM_PIDR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID [3:0]PARTNUM [11:8]
Reset value10110100
0xFE8CPUROM_PIDR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.REVISION [3:0]JEDECJEP106ID [6:4]
Reset value00001011
0xFECCPUROM_PIDR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.REVAND[3:0]CMOD[3:0]
Reset value00000000
0xFF0CPUROM_CIDR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
Reset value00001101
0xFF4CPUROM_CIDR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE [11:8]
Reset value00010000
0xFF8CPUROM_CIDR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
Reset value00000101
0xFFCCPUROM_CIDR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
Reset value10110001

Refer to Section 2.3 for register boundary addresses.

57.6 Data watchpoint and trace unit (DWT)

57.6.1 DWT registers

The DWT registers are located at address range 0xE000 1000 to 0xE000 1FFC.

DWT control register (DWT_CTRL)

Address offset: 0x000

Reset value: 0x4000 0000

31302928272625242322212019181716
NUMCOMP[3:0]NOTRCPKTNOEXTTRIGNOCYCCNTNOPRFCNTCYCDISSCYCEVTENAFOLDEVTENALSUEVTENASLEEPEVTENAEXCEVTENACPIEVVTENAEXCTRCEVENA
rrrrrrrrrwrwrwrwrwrwrwrw
1514131211109876543210
Res.Res.Res.PCSAMPLEN
A
SYNCTAP[1:0]CYCTAP
P
POSTINIT[3:0]POSTRESET[3:0]CYCCNTENA
rwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:28 NUMCOMP[3:0] : Number of comparators implemented (read only)

0x4: Four comparators

Bit 27 NOTRCPKT : tTrace sampling and exception tracing support (read only)

0: Supported

Bit 26 NOEXTTRIG : External match signal, CMPMATCH support (read only)

0: Supported

Bit 25 NOCYCCNT : Cycle counter support (read only)

0: Supported

Bit 24 NOPRFCNT : Profiling counter support (read only)

0: Supported

Bit 23 CYCDISS : Cycle counter disabled secure

Controls whether the cycle counter is disabled in secure mode.

0: No effect

1: Disable incrementing of the cycle counter when the processor is in secure state

Bit 22 CYCEVTENA : Enable for POSTCNT underflow event counter packet generation

0: Disabled

1: Enabled

Bit 21 FOLDEVTENA : Enable for folded instruction counter overflow event generation

0: Disabled

1: Enabled

Bit 20 LSUEVTENA : Enable for LSU counter overflow event generation

0: Disabled

1: Enabled

Bit 19 SLEEPEVTENA : Enable for sleep counter overflow event generation

0: Disabled

1: Enabled

Bit 18 EXCEVTENA : Enable for exception overhead counter overflow event generation

0: Disabled
1: Enabled

Bit 17 CPIEVENA : Enable for CPI counter overflow event generation

0: Disabled
1: Enabled

Bit 16 EXCTRCENA : Enable for exception trace generation

0: Disabled
1: Enabled

Bits 15:13 Reserved, must be kept at reset value.

Bit 12 PCSAMPLENA : Enable for POSTCNT counter to be used as a timer for periodic PC sample packet generation

0: Disabled
1: Enabled

Bits 11:10 SYNCTAP[1:0] : Position of the synchronization packet counter tap on the CYCCNT counter

This bitfield determines the synchronization packet rate.

00: Disabled, no synchronization packets
01: Tap at CYCCNT[24]
10: Tap at CYCCNT[26]
11: Tap at CYCCNT[28]

Bit 9 CYCTAP : Selects the position of the POSTCNT tap on the CYCCNT counter

0: Tap at CYCCNT[6]
1: Tap at CYCCNT[10]

Bits 8:5 POSTINIT[3:0] : Initial value of the POSTCNT counter

Writes to this bitfield are ignored if the POSTCNT counter is enabled. CYCEVTENA or PCSAMPLENA bits must be reset prior to writing POSTINIT.

Bits 4:1 POSTRESET[3:0] : Reload value of the POSTCNT counter

Bit 0 CYCCNTENA : Enable CYCCNT counter

0: Disabled
1: Enabled

DWT cycle count register (DWT_CYCCNT)

Address offset: 0x004

Reset value: 0x0000 0000

31302928272625242322212019181716
CYCCNT[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
CYCCNT[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 CYCCNT[31:0] : Processor clock-cycle counter

DWT CPI count register (DWT_CPICNT)

Address offset: 0x008

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
rwrwrwrwrwrwrwrw
CPICNT[7:0]

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 CPICNT[7:0] : CPI counter

Counts additional cycles required to execute multi-cycle instructions, except those recorded by DWT_LSUCNT, and counts any instruction fetch stalls.

DWT exception count register (DWT_EXCCNT)

Address offset: 0x00C

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
rwrwrwrwrwrwrwrw
EXCCNT[7:0]

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 EXCCNT[7:0] : Exception overhead cycle counter

Counts the number of cycles spent in exception processing.

DWT sleep count register (DWT_SLP CNT)

Address offset: 0x010

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
rwrwrwrwrwrwrwrw
SLPCNT[7:0]

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 SLEEPCNT[7:0] : Sleep cycle counter
Counts the number of cycles spent in Sleep mode (WFI, WFE, sleep-on-exit).

DWT LSU count register (DWT_LSUCNT)

Address offset: 0x014

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.LSUCNT[7:0]
rwrwrwrwrwrwrwrw

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 LSUCNT[7:0] : Load store counter
Counts additional cycles required to execute load and store instructions.

DWT fold count register (DWT_FOLDCNT)

Address offset: 0x018

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.FOLDCNT[7:0]
rwrwrwrwrwrwrwrw

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 FOLDCNT[7:0] : Folded instruction counter
Increments on each instruction that takes 0 cycles.

DWT program counter sample register (DWT_PCSR)

Address offset: 0x01C

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
EIASAMPLE[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
EIASAMPLE[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 EIASAMPLE[31:0] : Executed instruction address sample value.
Samples the current value of the program counter.

DWT comparator x register (DWT_COMPx)

Address offset: 0x020 + 0x10 * x, (x = 0 to 3)

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
COMP[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
COMP[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 COMP[31:0] : Reference value for comparison

DWT function register 0 (DWT_FUNCTION0)

Address offset: 0x028

Reset value: 0x5800 0000

31302928272625242322212019181716
ID[4:0]Res.Res.MATCHEDRes.Res.Res.Res.Res.Res.Res.Res.
rrrrrr
1514131211109876543210
Res.Res.Res.Res.DATAVSIZE[1:0]Res.Res.Res.Res.ACTION[1:0]MATCH[3:0]
rwrwrwrwrwrwrwrw

Bits 31:27 ID[4:0] : Capability identification

Identifies the capability for match for comparator 0.

0b01011: Cycle counter, instruction address, data address, and data address with value

Bits 26:25 Reserved, must be kept at reset value.

Bit 24 MATCHED : Comparator match

Indicates if a comparator match occurred since the register was last read.

0: No match

1: A match occurred.

Bits 23:12 Reserved, must be kept at reset value.

Bits 11:10 DATAVSIZE[1:0] : Data value size

Defines the size of the object being watched for by data value and data address comparators.

0x0: 1 byte

0x1: 2 bytes

0x2: 4 bytes

0x3: Reserved

Bits 9:6 Reserved, must be kept at reset value.

Bits 5:4 ACTION[1:0] : Action on match

0x0: Trigger only

0x1: Generates debug event

0x2: For a cycle counter, instruction address, data address, data value, or linked data value comparator, generate a data trace match packet. For a data address with value comparator, generate a data trace data value packet.

0x3: For a data address limit comparator, generate a data trace data address packet.

For a cycle counter, instruction address limit, or data address comparator, generate a data trace PC value packet. For a data address with value comparator, generate both a data trace PC value packet and a data trace data value packet.

Bits 3:0 MATCH[3:0] : Match type

Controls the type of match generated by comparator 0.

For possible values of this bitfield, refer to Section 57.13 [3] .

DWT function register 1 (DWT_FUNCTION1)

Address offset: 0x038

Reset value: 0xD000 0000

31302928272625242322212019181716
ID[4:0]Res.Res.MATCHEDRes.Res.Res.Res.Res.Res.Res.Res.
rrrrrr
1514131211109876543210
Res.Res.Res.Res.DATAVSIZE[1:0]Res.Res.Res.Res.ACTION[1:0]MATCH[3:0]
rwrwrwrwrwrwrwrw

Bits 31:27 ID[4:0] : Capability identification

Identifies the capability for match for comparator 1.

0b11010: instruction address, instruction address limit, data address, data address limit, and data address with value

Bits 26:25 Reserved, must be kept at reset value.

Bit 24 MATCHED : Comparator match

Indicates if a comparator match occurred since the register was last read.

0: No match

1: A match occurred

Bits 23:12 Reserved, must be kept at reset value.

Bits 11:10 DATAVSIZE[1:0] : Data value size

Defines the size of the object being watched for by data value and data address comparators.

0x0: 1 byte

0x1: 2 bytes

0x2: 4 bytes

0x3: Reserved

Bits 9:6 Reserved, must be kept at reset value.

Bits 5:4 ACTION[1:0] : Action on match

0x0: Trigger only

0x1: Generates debug event

0x2: For a cycle counter, instruction address, data address, data value, or linked data value comparator, generate a data trace match packet. For a data address with value comparator, generate a data trace Data value packet.

0x3: For a data address limit comparator, generate a data trace data address packet.

For a cycle counter, instruction address limit, or data address comparator, generate a data trace PC value packet. For a data address with value comparator, generate both a data trace PC value packet and a data trace data value packet.

Bits 3:0 MATCH[3:0] : Match type

Controls the type of match generated by comparator 1.

For possible values of this bitfield, refer to Section 57.13 [3] .

DWT function register 2 (DWT_FUNCTION2)

Address offset: 0x048

Reset value: 0x5000 0000

31302928272625242322212019181716
ID[4:0]Res.Res.MATCHEDRes.Res.Res.Res.Res.Res.Res.Res.
rrrrrr
1514131211109876543210
Res.Res.Res.Res.DATAVSIZE[1:0]Res.Res.Res.Res.ACTION[1:0]MATCH[3:0]

Bits 31:27 ID[4:0] : Capability identification

Identifies the capability for match for comparator 2

0b01010: instruction address, data address, and data address with value

Bits 26:25 Reserved, must be kept at reset value.

Bit 24 MATCHED : Comparator match

Indicates if a comparator match occurred since the register was last read.

0: No match

1: A match occurred

Bits 23:12 Reserved, must be kept at reset value.

Bits 11:10 DATAVSIZE[1:0] : Data value size

Defines the size of the object being watched for by data value and data address comparators.

0x0: 1 byte

0x1: 2 bytes

0x2: 4 bytes

0x3: Reserved

Bits 9:6 Reserved, must be kept at reset value.

Bits 5:4 ACTION[1:0] : Action on match

0x0: Trigger only

0x1: Generates debug event

0x2: For a cycle counter, instruction address, data address, data value, or linked data value comparator, generate a data trace match packet. For a data address with value comparator, generate a data trace data value packet.

0x3: For a data address limit comparator, generate a data trace data address packet.

For a cycle counter, instruction address limit, or data address comparator, generate a data trace PC value packet. For a data address with value comparator, generate both a data trace PC value packet and a data trace data value packet.

Bits 3:0 MATCH[3:0] : Match type

Controls the type of match generated by comparator 2.

For possible values of this bitfield, refer to Section 57.13 [3]

DWT function register 3 (DWT_FUNCTION3)

Address offset: 0x058

Reset value: 0xF000 0000

31302928272625242322212019181716
ID[4:0]Res.Res.MATCHEDRes.Res.Res.Res.Res.Res.Res.Res.
rrrrrr
1514131211109876543210
Res.Res.Res.Res.DATAVSIZE[1:0]Res.Res.Res.Res.ACTION[1:0]MATCH[3:0]
rwrwrwrwrwrwrwrw

Bits 31:27 ID[4:0] : Capability identification

Identifies the capability for match for comparator 2.

0b11110: instruction address, instruction address limit, data address, data address limit, data value, linked data value, and data address with value

Bits 26:25 Reserved, must be kept at reset value.

Bit 24 MATCHED : Comparator match

Indicates if a comparator match has occurred since the register was last read.

0: No match

1: A match occurred

Bits 23:12 Reserved, must be kept at reset value.

Bits 11:10 DATAVSIZE[1:0] : Data value size

Defines the size of the object being watched for by data value and data address comparators.

0x0: 1 byte

0x1: 2 bytes

0x2: 4 bytes

0x3: Reserved

Bits 9:6 Reserved, must be kept at reset value.

Bits 5:4 ACTION[1:0] : Action on match

0x0: Trigger only

0x1: Generates debug event

0x2: For a cycle counter, instruction address, data address, data value, or linked data value comparator, generate a data trace match packet. For a data address with value comparator, generate a data trace data value packet.

0x3: For a data address limit comparator, generate a data trace data address packet.

For a cycle counter, instruction address limit, or data address comparator, generate a data trace PC value packet. For a data address with value comparator, generate both a data trace PC value packet and a data trace data value packet.

Bits 3:0 MATCH[3:0] : Match type

Controls the type of match generated by comparator 2.

For possible values of this bitfield, refer to Section 57.13 [3]

DWT device type architecture register (DWT_DEVARCH)

Address offset: 0xFC8

Reset value: 0x4770 1A02

31302928272625242322212019181716
ARCHITECT[10:0]PRESENTREVISION[3:0]
rrrrrrrrrrrrrrrr
1514131211109876543210
ARCHVER[3:0]ARCHPART[11:0]
rrrrrrrrrrrrrrrr

Bits 31:21 ARCHITECT[10:0] : Architect JEP106 code

0x23B: JEP106 continuation code 0x4, JEP106 ID code 0x3B. Arm limited.

Bit 20 PRESENT : DWT_DEVARCH register present

0x1: present

Bits 19:16 REVISION[3:0] : Architecture revision

0x0: DWT architecture v2.0

Bits 15:12 ARCHVER[3:0] : Architecture version

0x1: DWT architecture v2.0

Bits 11:0 ARCHPART[11:0] : Architecture part

0xA02: DWT architecture

DWT device type register (DWT_DEVTYPE)

Address offset: 0xFCC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
SUB[3:0]MAJOR[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SUB[3:0] : Subtype

0x0: Other

Bits 3:0 MAJOR[3:0] : Major type

0x0: Miscellaneous

DWT CoreSight peripheral identity register 4 (DWT_PIDR4)

Address offset: 0xFD0

Reset value: 0x0000 0004

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
SIZE[3:0]JEP106CON[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SIZE[3:0] : Register file size

0x0: The register file occupies a single 4-Kbyte region.

Bits 3:0 JEP106CON[3:0] : JEP106 continuation code

0x4: Arm JEDEC code

DWT CoreSight peripheral identity register 0 (DWT_PIDR0)

Address offset: 0xFE0

Reset value: 0x0000 0021

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
PARTNUM[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PARTNUM[7:0] : Part number bits [7:0]
0x21: Cortex-M33 DWT part number

DWT CoreSight peripheral identity register 1 (DWT_PIDR1)

Address offset: 0xFE4

Reset value: 0x0000 00BD

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID[3:0]PARTNUM[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 JEP106ID[3:0] : JEP106 identity code bits [3:0]
0xB: Arm JEDEC code

Bits 3:0 PARTNUM[11:8] : Part number bits [11:8]
0xD: Cortex-M33 DWT part number

DWT CoreSight peripheral identity register 2 (DWT_PIDR2)

Address offset: 0xFE8

Reset value: 0x0000 000B

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVISION[3:0]JEDECJEP106ID[6:4]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVISION[3:0] : Component revision number
0x0: r0p0

Bit 3 JEDEC : JEDEC assigned value
0x1: Designer identification specified by JEDEC

Bits 2:0 JEP106ID[6:4] : JEP106 identity code bits [6:4]
0x3: Arm JEDEC code

DWT CoreSight peripheral identity register 3 (DWT_PIDR3)

Address offset: 0xFEC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVAND[3:0]CMOD[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVAND[3:0] : Metal fix version

0x0: No metal fix

Bits 3:0 CMOD[3:0] : Customer modified

0x0: No customer modifications

DWT CoreSight component identity register 0 (DWT_CIDR0)

Address offset: 0xFF0

Reset value: 0x0000 000D

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[7:0] : Component identification bits [7:0]

0x0D: Common identification value

DWT CoreSight peripheral identity register 1 (DWT_CIDR1)

Address offset: 0xFF4

Reset value: 0x0000 0090

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 CLASS[3:0] : Component identification bits [15:12] - component class
0x9: Debug component

Bits 3:0 PREAMBLE[11:8] : Component identification bits [11:8]
0x0: Common identification value

DWT CoreSight component identity register 2 (DWT_CIDR2)

Address offset: 0xFF8

Reset value: 0x0000 0005

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[19:12] : Component identification bits [23:16]
0x05: Common identification value

DWT CoreSight component identity register 3 (DWT_CIDR3)

Address offset: 0xFFC

Reset value: 0x0000 00B1

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[27:20] : Component identification bits [31:24]
0xB1: Common identification value

57.6.2 DWT register map

Table 643. DWT register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x000DWT_CTRLNUMCOMP [3:0]NOTRCPKTNOEXTTRIGNOCYCNTNOPRFCNTCYCDISSCYCEVTENAFOLDEVTENALSUEVTENASLEEPPEVTENAEXCEVTENACPIEVTENAEXCTRCENARes.Res.Res.PCSAMPLENASYNCTAP[1:0]CYCTAPPOSTINIT [3:0]POSTPRESET [3:0]CYCCNTENA
01000000000000000000000000000

Table 643. DWT register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x004DWT_CYCCNTCYCCNT[31:0]
Reset value00000000000000000000000000000000
0x008DWT_CPICNTResResResResResResResResResResResResResResResResResResResResResResResResCPICNT[7:0]
Reset valueXXXXXXXX
0x00CDWT_EXCCNTResResResResResResResResResResResResResResResResResResResResResResResResEXCCNT[7:0]
Reset valueXXXXXXXX
0x010DWT_SLPICNTResResResResResResResResResResResResResResResResResResResResResResResResSLPICNT[7:0]
Reset valueXXXXXXXX
0x014DWT_LSUCNTResResResResResResResResResResResResResResResResResResResResResResResResLSUCNT[7:0]
Reset valueXXXXXXXX
0x018DWT_FOLDCNTResResResResResResResResResResResResResResResResResResResResResResResResFOLDCNT[7:0]
Reset valueXXXXXXXX
0x01CDWT_PCSREIASAMPLE[31:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x020DWT_COMP0COMP[31:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x024ReservedReserved
0x028DWT_FUNCTION0ID[4:0]ResResMATCHEDResResResResResResResResResResResResResDATA/SIZE [1:0]ResResResResResResResACTION [1:0]MATCH[3:0]
Reset value010110000000
0x02CReservedReserved
0x030DWT_COMP1COMP[31:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x034ReservedReserved
0x038DWT_FUNCTION1ID[4:0]ResResMATCHEDResResResResResResResResResResResResResDATA/SIZE [1:0]ResResResResResResResACTION [1:0]MATCH[3:0]
Reset value110100000000
0x03CReservedReserved
0x040DWT_COMP2COMP[31:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x044ReservedReserved
0x048DWT_FUNCTION2ID[4:0]ResResMATCHEDResResResResResResResResResResResResResDATA/SIZE [1:0]ResResResResResResResACTION [1:0]MATCH[3:0]
Reset value010100000000
0x04CReservedReserved
0x050DWT_COMP3COMP[31:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x054ReservedReserved

Table 643. DWT register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x058DWT_FUNCTION3ID[4:0]ResResMATCHEDResResResResResResResResResResResResDATAV/SIZE [1:0]ResResResACTION [1:0]MATCH[3:0]
Reset value11110000000000
0x05C-0xFC4ReservedReserved
0xFC8DWT_DEVARCHARCHITECT[10:0]PRESENTREVISION [3:0]ARCHVER [3:0]ARCHPART[11:0]
Reset value01000111011100000000110100000001
0xFCCDWT_DEVTYPEResResResResResResResResResResResResResResResResResResResResResResResResSUB[3:0]MAJOR[3:0]
Reset value00000000
0xFD0DWT_PIDR4ResResResResResResResResResResResResResResResResResResResResResResResSIZE[3:0]JEP106CON [3:0]
Reset value00000100
0xFD4-0xFDCReservedReserved
0xFE0DWT_PIDR0ResResResResResResResResResResResResResResResResResResResResResResResPARTNUM[7:0]
Reset value00100001
0xFE4DWT_PIDR1ResResResResResResResResResResResResResResResResResResResResResResResJEP106ID [3:0]PARTNUM [11:8]
Reset value10111101
0xFE8DWT_PIDR2ResResResResResResResResResResResResResResResResResResResResResResResREVISION [3:0]JEDECJEP106ID [6:4]
Reset value00001011
0xFECDWT_PIDR3ResResResResResResResResResResResResResResResResResResResResResResResREVAND[3:0]CMOD[3:0]
Reset value00000000
0xFF0DWT_CIDR0ResResResResResResResResResResResResResResResResResResResResResResResPREAMBLE[7:0]
Reset value00001101
0xFF4DWT_CIDR1ResResResResResResResResResResResResResResResResResResResResResResResCLASS[3:0]PREAMBLE [11:8]
Reset value10010000
0xFF8DWT_CIDR2ResResResResResResResResResResResResResResResResResResResResResResResPREAMBLE[19:12]
Reset value00000101
0xFFCDWT_CIDR3ResResResResResResResResResResResResResResResResResResResResResResResPREAMBLE[27:20]
Reset value10110001

Refer to Section 2.3 for register boundary addresses.

57.7 Instrumentation trace macrocell (ITM)

57.7.1 ITM registers

ITM stimulus register x (ITM_STIMx)

Address offset: 0x000 + 0x4 * x, (x = 0 to 31)

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
STIMULUS[31:16]
wwwwwwwwwwwwwwww
1514131211109876543210
STIMULUS[15:0]
wwwwwwwwwwwwwwrwrw

Bits 31:0 STIMULUS[31:0] : Trace output data

When writing, write data is output on the trace bus as a software event packet.

When reading:

ITM trace enable register (ITM_TER)

Address offset: 0xE00

Reset value: 0x0000 0000

31302928272625242322212019181716
STIMENA[31:16]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
STIMENA[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:0 STIMENA[31:0] : Stimulus port enable

Each bit x (0 to 31) enables the stimulus port associated with the ITM_STIMx register.

0: Port disabled

1: Port enabled

ITM trace privilege register (ITM_TPR)

Address offset: 0xE40

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PRIVMASK[3:0]
rrrr

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 PRIVMASK[3:0] : Disable unprivileged access to ITM stimulus ports

Each bit controls eight stimulus ports.

XXX0: Unprivileged access permitted on ports 0 to 7

XXX1: Only privileged access permitted on ports 0 to 7

XX0X: Unprivileged access permitted on ports 8 to 15

XX1X: Only privileged access permitted on ports 8 to 15

X0XX: Unprivileged access permitted on ports 16 to 23

X1XX: Only privileged access permitted on ports 16 to 23

0XXX: Unprivileged access permitted on ports 24 to 31

1XXX: Only privileged access permitted on ports 24 to 31

ITM trace control register (ITM_TCR)

Address offset: 0xE80

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.BUSYTRACEBUSID[6:0]
rrwrwrwrwrwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.Res.TSPRESCALE[1:0]Res.Res.STALL ENASWOE NATXENASYNCEN NATSENAITMEN A
rwrwrwrrwrwrwrw

Bits 31:24 Reserved, must be kept at reset value.

Bit 23 BUSY : Busy bit

Indicates whether the ITM is currently processing events.

0: Not busy

1: Busy

Bits 22:16 TRACEBUSID[6:0] : Identifier for multi-source trace stream formatting

If multi-source trace is in use, the debugger must write a non-zero value to this bitfield.

Note: Different identifiers must be used for each trace source in the system.

Bits 15:10 Reserved, must be kept at reset value.

Bits 9:8 TSPRESCALE[1:0] : Local timestamp prescaler, used with the trace packet reference clock

0x0: No prescaling

0x1: Divides by 4.

0x2: Divides by 16.

0x3: Divides by 64.

Bits 7:6 Reserved, must be kept at reset value.

Bit 5 STALLena : Stall enable

0: Drops hardware source packets and generates an overflow if the ITM output is stalled.

1: Stalls the processor to guarantee delivery of data trace packets.

Bit 4 SWOena : SWO enable

Enables asynchronous clocking of the timestamp counter (read only).

0: Timestamp counter uses processor clock.

Bit 3 TXena : Transmit enable

Enables forwarding of hardware event packets from the DWT unit to the trace port.

0: Disabled

1: Enabled

Bit 2 SYNCena : Synchronization packet transmission enable

The debugger setting this bit must also configure the DWT_CTRL.SYNTAP field for the correct synchronization speed.

0: Disabled

1: Enabled

Bit 1 TSEna : Local timestamp generation enable

0: Disabled

1: Enabled

Bit 0 ITMena : ITM enable

0: Disabled

1: Enabled

ITM device type architecture register (ITM_DEVARCH)

Address offset: 0xFBC

Reset value: 0x4770 1A01

31302928272625242322212019181716
ARCHITECT[10:0]PRESENTREVISION[3:0]
rrrrrrrrrrrrrrrr
1514131211109876543210
ARCHVER[3:0]ARCHPART[11:0]
rrrrrrrrrrrrrrrr

Bits 31:21 ARCHITECT[10:0] : Architect JEP106 code

0x23B: JEP106 continuation code 0x4, JEP106 ID code 0x3B. Arm limited.

Bit 20 PRESENT : DEVARCH register presence

0x1: present

Bits 19:16 REVISION[3:0] : Architecture revision

0x0: ITM architecture v2.0

Bits 15:12 ARCHVER[3:0] : Architecture version

0x1: ITM architecture v2.0

Bits 11:0 ARCHPART[11:0] : Architecture part

0xA01: ITM architecture

ITM device type register (ITM_DEVTYPE)

Address offset: 0xFCC

Reset value: 0x0000 0043

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
SUB[3:0]MAJOR[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SUB[3:0] : Subtype

0x4: Associated with a bus, stimulus derived from bus activity

Bits 3:0 MAJOR[3:0] : Major type

0x3: Trace source

ITM CoreSight peripheral identity register 4 (ITM_PIDR4)

Address offset: 0xFD0

Reset value: 0x0000 0004

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
SIZE[3:0]JEP106CON[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SIZE[3:0] : Register file size

0x0: The register file occupies a single 4-Kbyte region.

Bits 3:0 JEP106CON[3:0] : JEP106 continuation code

0x4: Arm JEDEC code

ITM CoreSight peripheral identity register 0 (ITM_PIDR0)

Address offset: 0xFE0

Reset value: 0x0000 0021

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PARTNUM[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PARTNUM[7:0] : Part number bits [7:0]

0x21: ITM part number

ITM CoreSight peripheral identity register 1 (ITM_PIDR1)

Address offset: 0xFE4

Reset value: 0x0000 00BD

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID[3:0]PARTNUM[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 JEP106ID[3:0] : JEP106 identity code bits [3:0]

0xB: Arm JEDEC code

Bits 3:0 PARTNUM[11:8] : Part number bits [11:8]

0xD: ITM part number

ITM CoreSight peripheral identity register 2 (ITM_PIDR2)

Address offset: 0xFE8

Reset value: 0x0000 000B

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVISION[3:0]JEDECJEP106ID[6:4]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVISION[3:0] : Component revision number

0x0: r0p0

Bit 3 JEDEC : JEDEC assigned value

0x1: Designer identification specified by JEDEC

Bits 2:0 JEP106ID[6:4] : JEP106 identity code bits [6:4]

0x3: Arm JEDEC code

ITM CoreSight peripheral identity register 3 (ITM_PIDR3)

Address offset: 0xFEC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
REVAND[3:0]CMOD[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVAND[3:0] : Metal fix version

0x0: No metal fix

Bits 3:0 CMOD[3:0] : Customer modified

0x0: No customer modifications

ITM CoreSight component identity register 0 (ITM_CIDR0)

Address offset: 0xFF0

Reset value: 0x0000 000D

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
PREAMBLE[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[7:0] : Component identification bits [7:0]

0x0D: Common identification value

ITM CoreSight peripheral identity register 1 (ITM_CIDR1)

Address offset: 0xFF4

Reset value: 0x0000 00E0

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 CLASS[3:0] : Component identification bits [15:12] - component class

0xE: Trace generator component

Bits 3:0 PREAMBLE[11:8] : Component identification bits [11:8]

0x0: Common identification value

ITM CoreSight component identity register 2 (ITM_CIDR2)

Address offset: 0xFF8

Reset value: 0x0000 0005

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[19:12] : Component identification bits [23:16]

0x05: Common identification value

ITM CoreSight component identity register 3 (ITM_CIDR3)

Address offset: 0xFFC

Reset value: 0x0000 00B1

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[27:20] : Component identification bits [31:24]
0xB1: Common identification value

57.7.2 ITM register map

Table 644. ITM register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x000 + 0x4 * x, (x=0 to 31)ITM_STIMxSTIMULUS[31:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x07C-0xDFCReservedReserved
0xE00ITM_TERSTIMENA[31:0]
Reset value0000000000000000000000000000000
0xE04-0xE3CReservedReserved
0xE40ITM_TPRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PRIVMASK [3:0]
Reset value000
0xE44-0xE7CReservedReserved
0xE80ITM_TCRRes.Res.Res.Res.Res.Res.Res.Res.BUSYTRACEBUSID[6:0]Res.Res.Res.Res.Res.Res.TSPRESCALE [1:0]Res.Res.STALLENASWOENATXENASYNCENATSENAITMENA
Reset value0000000000000000
0xE84-0xFB8ReservedReserved
0xFBCITM_DEVARCHARCHITECT[10:0]PRESENREVISION [3:0]ARCHVER [3:0]ARCHPART[3:0]
Reset value01000111011100000001101000000001
0xFC0-0xFC8ReservedReserved
0xFCCITM_DEVTYPERes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SUB[3:0]MAJOR[3:0]
Reset value0100001
0xFD0ITM_PIDR4Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SIZE[3:0]JEP106CON [3:0]
Reset value0000010
0xFD4-0xFDCReservedReserved
0xFE0ITM_PIDR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PARTNUM[7:0]
Reset value0010001
0xFE4ITM_PIDR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID [3:0]PARTNUM [11:8]
Reset value1011110
0xFE8ITM_PIDR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.REVISION [3:0]JEDECJEP106ID [6:4]
Reset value000010
0xFECITM_PIDR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.REVAND[3:0]CMOD[3:0]
Reset value0000000

Table 644. ITM register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0xFF0ITM_CIDR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
Reset value00001101
0xFF4ITM_CIDR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE [11:8]
Reset value11100000
0xFF8ITM_CIDR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
Reset value00000101
0xFFCITM_CIDR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
Reset value10110001

Refer to Section 2.3 for register boundary addresses.

57.8 Breakpoint unit (BPU)

57.8.1 BPU registers

BPU control register (BPU_CTRL)

Address offset: 0x000

Reset value: 0x1000 0080

31302928272625242322212019181716
REV[3:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
rrrr
1514131211109876543210
Res.NUM_CODE[6:4]Res.Res.Res.Res.NUM_CODE[3:0]Res.Res.KEYENABLE
rrrrrrrr/wr/w

Bits 31:28 REV[3:0] : Revision number

0x1: BPU version 2

Bits 27:15 Reserved, must be kept at reset value.

Bits 14:12, 7:4 NUM_CODE[6:0] : Number of instruction address comparators supported

0x08: Eight instruction comparators supported

Bits 11:8, 3:2 Reserved, must be kept at reset value.

Bit 1 KEY : Write protect key

A write to BPU_CTRL register is ignored if this bit is not set to 1.

Bit 0 ENABLE : BPU enable

0: Disabled

1: Enabled

BPU comparator x register (BPU_COMPx)

Address offset: 0x008 + 0x4 * x, (x = 0 to 7)

Reset value: 0x0000 0000

31302928272625242322212019181716
BPADDR[31:16]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
BPADDR[15:1]BE
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:1 BPADDR[31:1] : Breakpoint address

Bit 0 BE : Breakpoint enable

0: Disabled

1: Enabled

BPU device type architecture register (BPU_DEVARCH)

Address offset: 0xFBC

Reset value: 0x4770 1A03

31302928272625242322212019181716
ARCHITECT[10:0]PRESENTREVISION[3:0]
rrrrrrrrrrrrrrrr
1514131211109876543210
ARCHVER[3:0]ARCHPART[11:0]
rrrrrrrrrrrrrrrr

Bits 31:21 ARCHITECT[10:0] : Architect JEP106 code

0x23B: JEP106 continuation code 0x4, JEP106 ID code 0x3B. Arm limited.

Bit 20 PRESENT : DEVARCH register present

0x1: present

Bits 19:16 REVISION[3:0] : Architecture revision

0x0: BPU architecture v2.0

Bits 15:12 ARCHVER[3:0] : Architecture version

0x1: BPU architecture v2.0

Bits 11:0 ARCHPART[11:0] : Architecture part

0xA03: BPU architecture

BPU device type register (BPU_DEVTYPE)

Address offset: 0xFCC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.SUB[3:0]MAJOR[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SUB[3:0] : Subtype

0x0: Other

Bits 3:0 MAJOR[3:0] : Major type

0x0: Miscellaneous

BPU CoreSight peripheral identity register 4 (BPU_PIDR4)

Address offset: 0xFD0

Reset value: 0x0000 0004

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.SIZE[3:0]JEP106CON[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SIZE[3:0] : Register file size

0x0: The register file occupies a single 4-Kbyte region.

Bits 3:0 JEP106CON[3:0] : JEP106 continuation code

0x4: Arm JEDEC code

BPU CoreSight peripheral identity register 0 (BPU_PIDR0)

Address offset: 0xFE0

Reset value: 0x0000 0021

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PARTNUM[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PARTNUM[7:0] : Part number bits [7:0]
0x21: BPU part number

BPU CoreSight peripheral identity register 1 (BPU_PIDR1)

Address offset: 0xFE4

Reset value: 0x0000 00BD

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID[3:0]PARTNUM[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 JEP106ID[3:0] : JEP106 identity code bits [3:0]
0xB: Arm JEDEC code

Bits 3:0 PARTNUM[11:8] : Part number bits [11:8]
0xD: BPU part number

BPU CoreSight peripheral identity register 2 (BPU_PIDR2)

Address offset: 0xFE8

Reset value: 0x0000 000B

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVISION[3:0]JEDECJEP106ID[6:4]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVISION[3:0] : Component revision number
0x0: r0p0

Bit 3 JEDEC : JEDEC assigned value
0x1: Designer identification specified by JEDEC

Bits 2:0 JEP106ID[6:4] : JEP106 identity code bits [6:4]
0x3: Arm JEDEC code

BPU CoreSight peripheral identity register 3 (BPU_PIDR3)

Address offset: 0xFEC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVAND[3:0]CMOD[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVAND[3:0] : Metal fix version

0x0: No metal fix

Bits 3:0 CMOD[3:0] : Customer modified

0x0: No customer modifications

BPU CoreSight component identity register 0 (BPU_CIDR0)

Address offset: 0xFF0

Reset value: 0x0000 000D

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[7:0] : Component identification bits [7:0]

0x0D: Common identification value

BPU CoreSight peripheral identity register 1 (BPU_CIDR1)

Address offset: 0xFF4

Reset value: 0x0000 0090

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 CLASS[3:0] : Component identification bits [15:12] - component class
0x9: Debug component

Bits 3:0 PREAMBLE[11:8] : Component identification bits [11:8]
0x0: Common identification value

BPU CoreSight component identity register 2 (BPU_CIDR2)

Address offset: 0xFF8

Reset value: 0x0000 0005

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[19:12] : Component identification bits [23:16]
0x05: Common identification value

BPU CoreSight component identity register 3 (BPU_CIDR3)

Address offset: 0xFFC

Reset value: 0x0000 00B1

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[27:20] : Component identification bits [31:24]
0xB1: Common identification value

57.8.2 BPU register map

Table 645. BPU register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x000BPU_CTRLREV[3:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.NUM_CODE [6:4]Res.Res.Res.Res.Res.Res.Res.NUM_CODE [3:0]Res.Res.KEYENABLE
Reset value0001000100000
0x004ReservedReserved
Table 645. BPU register map and reset values (continued)
OffsetRegister name313029282726252423222120191817161514131211109876543210
0x008+
0x4 * x,
(x=0 to 7)
BPU_COMPxBPADDR[31:1]BE
Reset value00000000000000000000000000000000
0x028-
0xFB8
ReservedReserved
0xFBCBPU_DEVARCHARCHITECT[10:0]PRESENREVISION
[3:0]
ARCHVER
[3:0]
ARCHPART[11:0]
Reset value01000111011100000001101000000011
0xFC0-
0xFC8
ReservedReserved
0xFCCBPU_DEVTYPERes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SUB[3:0]MAJOR[3:0]
Reset value00000000
0xFD0BPU_PIDR4Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SIZE[3:0]JEP106CON
[3:0]
Reset value00000100
0xFD4-
0xFDC
ReservedReserved
0xFE0BPU_PIDR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PARTNUM[7:0]
Reset value00100001
0xFE4BPU_PIDR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID
[3:0]
PARTNUM
[11:8]
Reset value10111101
0xFE8BPU_PIDR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.REVISION
[3:0]
JEDECJEP106ID
[6:4]
Reset value00001011
0xFECBPU_PIDR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.REVAND[3:0]CMOD[3:0]
Reset value00000000
0xFF0BPU_CIDR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
Reset value00001101
0xFF4BPU_CIDR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE
[11:8]
Reset value10010000
0xFF8BPU_CIDR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
Reset value00000101
0xFFCBPU_CIDR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
Reset value10110001
Refer to Section 2.3 for register boundary addresses.

57.9 Embedded Trace Macrocell (ETM)

57.9.1 ETM registers

The ETM registers are located at address range 0xE004 1000 to 0xE004 1FFC.

ETM programming control register (ETM_PRGCTLR)

Address offset: 0x004

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EN
r/w

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 EN : Trace unit enable

0: Disabled

1: Enabled

ETM status register (ETM_STATR)

Address offset: 0x00C

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PMSTA
BLE
IDLE
rr

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 PMSTABLE : Stability status

Indicates that the ETM-M33 registers are stable and can be read.

0: Not stable

1: Stable

Bit 0 IDLE : Trace unit status

Indicates that the trace unit is inactive.

0: Not idle

1: Idle

ETM configuration register (ETM_CONFIGR)

Address offset: 0x010

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.RSRes.COND[5:0]CCIBBRes.Res.Res.
rwrwrwrwrwrwrwrwrw

Bits 31:13 Reserved, must be kept at reset value.

Bit 12 RS : Returns stack enable

0: Disabled

1: Enabled

Bit 11 Reserved, must be kept at reset value.

Bits 10:5 COND[5:0] : Conditional instruction tracing

0x0: Conditional instruction tracing disabled

0x1: Conditional load instructions traced

0x2: Conditional store instructions traced

0x3: Conditional load and store instructions traced

0x7: All conditional instructions traced

Others: Reserved

Bit 4 CCI : Cycle counting in instruction trace

0: Disabled

1: Enabled

Bit 3 BB : Branch broadcast mode

0: Disabled

1: Enabled

Bits 2:0 Reserved, must be kept at reset value.

ETM event control 0 register (ETM_EVENTCTL0R)

Address offset: 0x020

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
TYPE1Res.Res.Res.SEL1[3:0]TYPE0Res.Res.Res.SEL0[3:0]
rwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bit 15 TYPE1 : Resource type for event1
0: Single selected resource
1: Boolean combined resource pair

Bits 14:12 Reserved, must be kept at reset value.

Bits 11:8 SEL1[3:0] : Resource number based on TYPE1
Selects the resource number, based on the value of TYPE1.
When TYPE1 = 0, a single resource from 0-15 defined by SEL1[3:0] is selected.
When TYPE1 = 1, a boolean combined resource pair defined by SEL1[2:0] is selected.

Bit 7 TYPE0 : Resource type for event0
0: Single selected resource
1: Boolean combined resource pair

Bits 6:4 Reserved, must be kept at reset value.

Bits 3:0 SEL0[3:0] : Resource number based on TYPE0
Selects the resource number, based on the value of TYPE0.
When TYPE0 = 0, a single resource from 0-15 defined by SEL0[3:0] is selected.
When TYPE0 = 1, a boolean combined resource pair defined by SEL0[2:0] is selected.

ETM event control 1 register (ETM_EVENTCTL1R)

Address offset: 0x024

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.LPOVERRIDEATBRes.Res.Res.Res.Res.Res.Res.Res.Res.INSTEN[1:0]
rwrwrwrw

Bits 31:13 Reserved, must be kept at reset value.

Bit 12 LPOVERRIDE : Low-power state behavior override
0: Normal low-power state behavior
1: The resources and event trace generation are not affected by entry to a low-power state.

Bit 11 ATB : ATB trigger enable
0: Disabled
1: Enabled

Bits 10:2 Reserved, must be kept at reset value.

Bits 1:0 INSTEN[1:0] : Instruction event generation
Enables generation of an event element in the instruction stream.
00: Neither event0 nor event1 causes an event element.
01: Event0 causes an event element when it occurs. Event1 does not cause an event element.
10: Event0 does not cause an event element. Event1 causes an event element when it occurs
11: Both event0 and event1 cause an event element when they occurs.

ETM stall control register (ETM_STALLCTLR)

Address offset: 0x02C

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.INSTP
RIORIT
Y
Res.ISTALLRes.Res.Res.Res.LEVEL[3:0]
rwrwrwrwrwrw

Bits 31:11 Reserved, must be kept at reset value.

Bit 10 INSTPRIORITY : Instruction trace priority

Prioritizes instruction trace if instruction trace buffer space is less than LEVEL[3:0].

0: The ETM must not prioritize instruction trace.

1: The ETM can prioritize instruction trace.

Bit 9 Reserved, must be kept at reset value.

Bit 8 ISTALL : Processor stalling

Stalls processor based on instruction trace buffer space.

0: The ETM must not stall the processor.

1: The ETM can stall the processor.

Bits 7:4 Reserved, must be kept at reset value.

Bits 3:0 LEVEL[3:0] : Threshold at which stalling becomes active

This bitfield provides four levels. This level can be varied to optimize the level of invasion caused by stalling, balanced against the risk of a FIFO overflow.

0x0: Zero invasion, but greater risk of FIFO overflow.

...

0xF: Maximum invasion but less risk of FIFO overflow

ETM synchronization period register (ETM_SYNCPR)

Address offset: 0x034

Reset value: 0x0000 000A

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PERIOD[4:0]
rrrrr

Bits 31:5 Reserved, must be kept at reset value.

Bits 4:0 PERIOD[4:0] : Synchronization period

Defines the number of bytes of trace between trace synchronization requests as a total of the number of bytes generated by the instruction stream.

0xA: 1024 bytes

ETM cycle count control register (ETM_CCCTLR)

Address offset: 0x038

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.THRESHOLD[11:0]
rwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:12 Reserved, must be kept at reset value.

Bits 11:0 THRESHOLD[11:0] : Instruction trace cycle-count threshold

Sets the threshold value for instruction trace cycle counting. The threshold represents the minimum interval between cycle-count trace packets.

ETM trace identification register (ETM_TRACEIDR)

Address offset: 0x040

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.TRACEID[6:0]
rwrwrwrwrwrwrw

Bits 31:7 Reserved, must be kept at reset value.

Bits 6:0 TRACEID[6:0] : Trace identification to output onto the trace bus

This bitfield must be programmed with a unique value to differentiate it from other trace sources in the system.

Values 0x00 and 0x70-0x7F are reserved.

ETM ViewInst main control register (ETM_VICTLR)

Address offset: 0x080

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EXLEVEL_S[3:0]
rwrwrwrw
1514131211109876543210
Res.Res.Res.Res.TRCERRTRCRESETSSSTATUSRes.EVENT[7:0]
rwrwrwrwrwrwrwrwrwrwrw

Bits 31:20 Reserved, must be kept at reset value.

Bits 19:16 EXLEVEL_S[3:0] : Exception level in secure state

Controls whether instruction tracing is enabled for the corresponding exception level, in secure state.

0bXXX0: Instruction trace not generated in secure state, for exception level 0
0bXXX1: Instruction trace generated in secure state, for exception level 0
0b0XXX: Instruction trace not generated in secure state, for exception level 3
0b1XXX: Instruction trace generated in secure state, for exception level 3

Bits 15:12 Reserved, must be kept at reset value.

Bit 11 TRCERR : Trace system error exception

0: The system error exception is traced only if the instruction or exception immediately before the system error exception is traced.
1: The system error exception is always traced.

Bit 10 TRCRESET : Trace reset exception

0: The reset exception is traced only if the instruction or exception immediately before the reset exception is traced.
1: The reset exception is always traced.

Bit 9 SSSTATUS : Start/stop logic status

0: Stopped
1: Started

Bit 8 Reserved, must be kept at reset value.

Bits 7:0 EVENT[7:0] : Event selector ETM counter reload value register 0 (ETM_CNTRLDVR0)

Address offset: 0x140

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
VALUE[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 VALUE[15:0] : Counter reload value

This value is loaded in to the counter each time the reload event occurs.

ETM identification register 8 (ETM_IDR8)

Address offset: 0x180

Reset value: 0x0000 0000

31302928272625242322212019181716
MAXSPEC[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
MAXSPEC[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 MAXSPEC[31:0] : Maximum speculation depth

Indicates the maximum speculation depth of the instruction trace stream. This is the maximum number of P0 elements that have not been committed in the trace stream at any one time.

0x0: The maximum trace speculation depth is zero.

ETM identification register 9 (ETM_IDR9)

Address offset: 0x184

Reset value: 0x0000 0000

31302928272625242322212019181716
NUMP0KEY[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
NUMP0KEY[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 NUMP0KEY[31:0] : Number of P0 right-hand keys used

0x0: no P0 right-hand keys used in instruction trace

ETM identification register 10 (ETM_IDR10)

Address offset: 0x188

Reset value: 0x0000 0000

31302928272625242322212019181716
NUMP1KEY[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
NUMP1KEY[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 NUMP1KEY[31:0] : Number of P1 right-hand keys used (including normal and special keys)
0x0: no P1 right-hand keys used in instruction trace

ETM identification register 11 (ETM_IDR11)

Address offset: 0x18C

Reset value: 0x0000 0000

31302928272625242322212019181716
NUMP1SPC[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
NUMP1SPC[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 NUMP1SPC[31:0] : Number of special P1 right-hand keys used
0x0: No special P1 right-hand keys used in any configuration

ETM identification register 12 (ETM_IDR12)

Address offset: 0x190

Reset value: 0x0000 0001

31302928272625242322212019181716
NUMCONDKEY[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
NUMCONDKEY[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 NUMCONDKEY[31:0] : Number of conditional instruction right-hand keys used (including normal and special keys)
0x1: One conditional instruction right-hand key implemented

ETM identification register 13 (ETM_IDR13)

Address offset: 0x194

Reset value: 0x0000 0000

31302928272625242322212019181716
NUMCONDSPC[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
NUMCONDSPC[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 NUMCONDSPC[31:0] : Number of special conditional instruction right-hand keys used
0x0: No special conditional instruction right-hand keys implemented

ETM implementation specific register 0 (ETM_IMSPECRO)

Address offset: 0x1C0

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SUPPORT[3:0]
rrrr

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 SUPPORT[3:0] : Implementation specific extension support

0x0: No implementation specific extensions supported

ETM identification register 0 (ETM_IDR0)

Address offset: 0x1E0

Reset value: 0x2800 06E1

31302928272625242322212019181716
Res.Res.COMMOPTRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TRCEXDATAQSUPP[1]
rrr
1514131211109876543210
QSUPP[0]Res.CONDTYPE[1:0]NUMEVENT[1:0]RETSTACKRes.TRCCCITRCCONDTRCBBTRCDATA[1:0]INSTP0[1:0]Res.
rrrrrrrrrrr

Bits 31:30 Reserved, must be kept at reset value.

Bit 29 COMMOPT : Commit field meaning

Indicates the meaning of the commit field in some packets.

1: Commit mode 1

Bits 28:18 Reserved, must be kept at reset value.

Bit 17 TRCEXDATA : Trace data transfers for exceptions

Indicates support for the tracing of data transfers for exceptions and exception returns.

0: Not implemented

Bits 16:15 QSUPP[1:0] : Q element support

0: Not supported

Bit 14 Reserved, must be kept at reset value.

Bits 13:12 CONDTYPE[1:0] : Conditional result tracing

Indicates how conditional results are traced.

0: The trace unit indicates only if a conditional instruction passes or fails its condition code check.

Bits 11:10 NUMEVENT[1:0] : Number of events supported

0x1: Two events

  1. Bit 9 RETSTACK : Return stack support
    1: Two entry return stacks
  2. Bit 8 Reserved, must be kept at reset value.
  3. Bit 7 TRCCCI : Cycle counting support
    1: Cycle counting implemented
  4. Bit 6 TRCCOND : Conditional instruction support
    1: Conditional instruction tracing implemented
  5. Bit 5 TRCBB : Branch broadcast support
    1: Branch broadcast tracing implemented
  6. Bits 4:3 TRCDATA[1:0] : Data tracing support
    0x0: Data tracing not supported
  7. Bits 2:1 INSTP0[1:0] : Support for tracing of load and store instructions as P0 elements
    0x0: Not supported
  8. Bit 0 Reserved, must be kept at reset value.

ETM identification register 1 (ETM_IDR1)

Address offset: 0x1E4

Reset value: 0x4100 F421

31302928272625242322212019181716
DESIGNER[7:0]Res.Res.Res.Res.Res.Res.Res.Res.
rrrrrrrr
1514131211109876543210
Res.Res.Res.Res.TRCARCHMAJ[3:0]TRCARCHMIN[3:0]REVISION[3:0]
rrrrrrrrrrrr
  1. Bits 31:24 DESIGNER[7:0] : Trace unit designer
    0x41: Arm
  2. Bits 23:12 Reserved, must be kept at reset value.
  3. Bits 11:8 TRCARCHMAJ[3:0] : Major trace unit architecture version number
    0x4: ETMv4
  4. Bits 7:4 TRCARCHMIN[3:0] : Minor trace unit architecture version number
    0x2: Minor revision 2
  5. Bits 3:0 REVISION[3:0] : Implementation revision number
    0x1: Implementation revision 1

ETM identification register 2 (ETM_IDR2)

Address offset: 0x1E8

Reset value: 0x0000 0004

31302928272625242322212019181716
ResResResCCSIZE[3:0]DVSIZE[4:0]DASIZE[4:1]
rrrrrrrrrrrrrrrr
1514131211109876543210
DASIZE[0]VMIDSIZE[4:0]CIDSIZE[4:0]IASIZE[4:0]
rrrrrrrrrrrrrrrr

Bits 31:29 Reserved, must be kept at reset value.

Bits 28:25 CCSIZE[3:0] : Cycle counter size

0x0: 12 bits

Bits 24:20 DVSIZE[4:0] : Data value size

0x0: Data value size not supported

Bits 19:15 DASIZE[4:0] : Data address size

0x0: Data address size not supported

Bits 14:10 VMIDSIZE[4:0] : Virtual machine ID size

0x0: Virtual machine ID tracing not implemented

Bits 9:5 CIDSIZE[4:0] : Context ID size

0x0: Context ID tracing not implemented

Bits 4:0 IASIZE[4:0] : Instruction address size

0x4: Maximum 32-bit address size

ETM identification register 3 (ETM_IDR3)

Address offset: 0x1EC

Reset value: 0x0F09 0004

31302928272625242322212019181716
NOOVERFLOWNUMPROC[2:0]SYSSTALLSTALLCTLSYNCPTRCERRes.Res.Res.Res.EXLEVEL_S[3:0]
rrrrrrrrrrrr
1514131211109876543210
Res.Res.Res.Res.CCITMIN[11:0]
rrrrrrrrrrrr

Bit 31 NOOVERFLOW : ETM_STALLCTRL.NOOVERFLOW implementation

0: Not implemented

Bits 30:28 NUMPROC[2:0] : Number of processors available for tracing

0x0: One processor

Bit 27 SYSSTALL : System support for stall control of the processor

1: System supports stall control

Bit 26 STALLCTL : Stall control support

1: ETM_STALLCTLR implemented

Bit 25 SYNCPR : Trace synchronization period support

1: ETM_SYNCPR is read-only for instruction trace only configuration. The trace synchronization period is fixed.

Bit 24 TRCERR : ETM_VICTLR.TRCERR implementation

0x1: Implemented

Bits 23:20 Reserved, must be kept at reset value.

Bits 19:16 EXLEVEL_S[3:0] : Privilege level implementation

0x9: Privilege level thread and handler implemented

Bits 15:12 Reserved, must be kept at reset value.

Bits 11:0 CCITMIN[11:0] : Minimum value that can be programmed to ETM_CCCTLR.THRESHOLD

Defines the minimum cycle counting threshold.

0x4: Minimum of four-instruction trace cycles

ETM identification register 4 (ETM_IDR4)

Address offset: 0x1F0

Reset value: 0x0011 4000

31302928272625242322212019181716
NUMVMIDC[3:0]NUMCIDC[3:0]NUMSSCC[3:0]NUMRSPAIR[3:0]
rrrrrrrrrrrrrrrr
1514131211109876543210
NUMPC[3:0]Res.Res.Res.SUPPDACNUMDVC[3:0]NUMACPAIRS[3:0]
rrrrrrrrrrrrr

Bits 31:28 NUMVMIDC[3:0] : Number of virtual machine ID (VMID) comparators

0x0: VMID comparators not implemented

Bits 27:24 NUMCIDC[3:0] : Number of context ID comparators

0x0: Context ID comparators not supported

Bits 23:20 NUMSSCC[3:0] : Number of single-shot comparator controls

0x1: One single-shot comparator control implemented

Bits 19:16 NUMRSPAIR[3:0] : Number of resource selection pairs

0x1: Two resource selection pairs implemented

Bits 15:12 NUMPC[3:0] : Number of processor comparator inputs for the DWT

0x4: Four processor comparator inputs implemented

Bits 11:9 Reserved, must be kept at reset value.

Bit 8 SUPPDAC : Data address comparisons

0: Data address comparisons not supported

Bits 7:4 NUMDVC[3:0] : Number of data value comparators

0x0: No data value comparators implemented

Bits 3:0 NUMACPAIRS[3:0] : Number of address comparator pairs
0x0: No address comparator pairs implemented

ETM identification register 5 (ETM_IDR5)

Address offset: 0x1F4

Reset value: 0x90C7 0004

31302928272625242322212019181716
REDFUNCNTRNUMCNTR[2:0]NUMSEQSTATE[2:0]Res.LPOVERRIDEATBTRIGTRACEIDSIZE[5:0]
rrrrrrrrrrrrrrr
1514131211109876543210
Res.Res.Res.Res.NUMEXTINSEL[2:0]NUMEXTIN[8:0]
rrrrrrrrrrrr

Bit 31 REDFUNCNTR : Reduced function counter
1: Counter 0 implemented as a reduced function counter

Bits 30:28 NUMCNTR[2:0] : Number of counters
0x1: One counter implemented

Bits 27:25 NUMSEQSTATE[2:0] : Number of sequencer states
0x0: No sequencer states implemented

Bit 24 Reserved, must be kept at reset value.

Bit 23 LPOVERRIDE : Low-power state override support
1: Low-power state override support implemented

Bit 22 ATBTRIG : ATB trigger support
1: ATB trigger support implemented

Bits 21:16 TRACEIDSIZE[5:0] : Number of bits of trace identification
0x7: 7-bit trace identification implemented

Bits 15:12 Reserved, must be kept at reset value.

Bits 11:9 NUMEXTINSEL[2:0] : Number of external input selectors
0x0: No external input selectors implemented

Bits 8:0 NUMEXTIN[8:0] : Number of external inputs
0x004: Four external inputs implemented

ETM resource register 2 (ETM_RSCTLR2)

Address offset: 0x208

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PAIRINVINVRes.GROUP[2:0]
rwrwrwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.SELECT[7:0]
rwrwrwrwrwrwrwrw

Bits 31:22 Reserved, must be kept at reset value.

Bit 21 PAIRINV : Result of a combined pair of resources inversion

0: Not inverted

1: Inverted

Bit 20 INV : Selected resource inversion

0: Not inverted

1: Inverted

Bit 19 Reserved, must be kept at reset value.

Bits 18:16 GROUP[2:0] : Group of resource selection

0x0: External input selectors (select 0-3)

0x1: Inputs from processor DWT comparator element (select 0-3)

0x2: Counter at zero (select 0)

0x3: Single-shot comparator (select 0)

Others: Reserved

Bits 15:8 Reserved, must be kept at reset value.

Bits 7:0 SELECT[7:0] : More resource selection

Selects one or more resources from the group selected in GROUP[2:0].

ETM resource register 3 (ETM_RSCTLR3)

Address offset: 0x20C

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.INVRes.GROUP[2:0]
rwrwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.SELECT[7:0]
rwrwrwrwrwrwrwrw

Bits 31:21 Reserved, must be kept at reset value.

Bit 20 INV : Selected resource inversion

0: Not inverted

1: Inverted

Bit 19 Reserved, must be kept at reset value.

Bits 18:16 GROUP[2:0] : Group of resource selection

0x0: External input selectors (select 0-3)

0x1: Inputs from processor DWT comparators element (select 0-3)

0x2: Counter at zero (select 0)

0x3: Single-shot comparator (select 0)

Others: Reserved

Bits 15:8 Reserved, must be kept at reset value.

Bits 7:0 SELECT[7:0] : More resource selection

Selects one or more resources from the group selected in GROUP[2:0].

ETM single-shot comparator control register 0 (ETM_SSCCR0)

Address offset: 0x280

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.RSTRes.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.

Bits 31:25 Reserved, must be kept at reset value.

Bit 24 RST : Single-shot comparator reset

Enables the single-shot comparator resource to be reset when it occurs, to enable another comparator match to be detected.

1: Reset enabled

Bits 23:0 Reserved, must be kept at reset value.

ETM single-shot comparator status register 0 (ETM_SSCSR0)

Address offset: 0x2A0

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
STATUSRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PCDVDAINST
rrrr

Bit 31 STATUS : Single-shot comparator status

Indicates whether any of the selected comparators have matched.

0: No match occurred

1: At least one match occurred

Bits 30:4 Reserved, must be kept at reset value.

Bit 3 PC : Processor comparator input sensitivity

1: Single-shot comparator sensitive to processor comparator inputs

Bit 2 DV : Data value comparator support

0: Single-shot data value comparisons not supported

Bit 1 DA : data address comparator support

0: Single-shot data address comparisons not supported

Bit 0 INST : Instruction address comparator support

0: Single-shot instruction address comparisons not supported

ETM single-shot processor comparator input control register 0
(ETM_SSPCICR0)

Address offset: 0x2C0

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PC[3:0]
rwrwrwrw

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 PC[3:0] : Processor comparator inputs selection for single-shot control

0xXXX0: Processor comparator input 0 not selected

0xXXX1: Processor comparator input 0 selected

0xxX0X: Processor comparator input 1 not selected

0xxX1X: Processor comparator input 1 selected

0xX0XX: Processor comparator input 2 not selected

0xX1XX: Processor comparator input 2 selected

0x0XXX: Processor comparator input 3 not selected

0x1XXX: Processor comparator input 3 selected

ETM power-down control register (ETM_PDCR)

Address offset: 0x310

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PURes.Res.Res.
rw

Bits 31:4 Reserved, must be kept at reset value.

Bit 3 PU : Power-up request
0: Power-up not requested
1: Power-up requested

Bits 2:0 Reserved, must be kept at reset value.

ETM power-down status register (ETM_PDSR)

Address offset: 0x314

Reset value: 0x0000 0003

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.STICK
YPD
POWE
R
rr

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 STICKYPD : Sticky power-down state
0: Trace register power has not been removed since the ETM_PDSR was last read.
1: Trace register power has been removed since the ETM_PDSR was last read.

Bit 0 POWER : ETM power-up status
1: ETM powered up

ETM claim tag set register (ETM_CLAIMSET)

Address offset: 0xFA0

Reset value: 0x0000 000F

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CLAIMSET[3:0]
rwrwrwrw

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 CLAIMSET[3:0] : Claim tag bits setting
Write:
0000: No effect
xxx1: Sets bit 0.
xx1x: Sets bit 1.
x1xx: Sets bit 2.
1xxx: Sets bit 3.
Read:
0xF: Indicates there are 4 bits in claim tag.

ETM claim tag clear register (ETM_CLAIMCLR)

Address offset: 0xFA4

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CLAIMCLR[3:0]
rwrwrwrw

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 CLAIMCLR[3:0] : Claim tag bit reset

Write:

0000: No effect

xxx1: Clears bit 0.

xx1x: Clears bit 1.

x1xx: Clears bit 2.

1xxx: Clears bit 3.

Read: Returns current value of claim tag.

ETM authentication status register (ETM_AUTHSTAT)

Address offset: 0xFB8

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.SNID[1:0]SID[1:0]NSNID[1:0]NSID[1:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:6 SNID[1:0] : Security level for secure non-invasive debug

0x2: Secure noninvasive debug disabled

0x3: Secure noninvasive debug enabled

Bits 5:4 SID[1:0] : Security level for secure invasive debug

0x0: Not implemented

Bits 3:2 NSNID[1:0] : Security level for nonsecure non-invasive debug

0x2: Nonsecure noninvasive debug disabled

0x3: Nonsecure noninvasive debug enabled

Bits 1:0 NSID[1:0] : Security level for nonsecure invasive debug

0x0: Not implemented

ETM device type architecture register (ETM_DEVARCH)

Address offset: 0xFBC

Reset value: 0x4772 4A13

31302928272625242322212019181716
ARCHITECT[10:0]PRESENTREVISION[3:0]
rrrrrrrrrrrrrrrr
1514131211109876543210
ARCHVER[3:0]ARCHPART[11:0]
rrrrrrrrrrrrrrrr
Bits 31:21 ARCHITECT[10:0] : Architect JEP106 code

0x23B: JEP106 continuation code 0x4, JEP106 ID code 0x3B. Arm limited.

Bit 20 PRESENT : DEVARCH register presence

0x1: Present

Bits 19:16 REVISION[3:0] : Architecture revision

0x2: ETM architecture v4.2

Bits 15:12 ARCHVER[3:0] : Architecture version

0x4: ETM architecture v4.2

Bits 11:0 ARCHPART[11:0] : Architecture part

0xA13: ETM architecture

ETM CoreSight device type register (ETM_DEVTYPE)

Address offset: 0xFCC

Reset value: 0x0000 0013

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.SUBTYPE[3:0]MAJORTYPE[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SUBTYPE[3:0] : Device subtype identifier

0x1: Processor trace

Bits 3:0 MAJORTYPE[3:0] : Device main type identifier

0x3: Trace source

ETM CoreSight peripheral identity register 4 (ETM_PIDR4)

Address offset: 0xFD0

Reset value: 0x0000 0004

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
SIZE[3:0]JEP106CON[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SIZE[3:0] : Register file size

0x0: The register file occupies a single 4-Kbyte region.

Bits 3:0 JEP106CON[3:0] : JEP106 continuation code

0x4: Arm JEDEC code

ETM CoreSight peripheral identity register 0 (ETM_PIDR0)

Address offset: 0xFE0

Reset value: 0x0000 0021

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
PARTNUM[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PARTNUM[7:0] : Part number bits [7:0]

0x21: ETM part number

ETM CoreSight peripheral identity register 1 (ETM_PIDR1)

Address offset: 0xFE4

Reset value: 0x0000 00BD

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
JEP106ID[3:0]PARTNUM[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 JEP106ID[3:0] : JEP106 identity code bits [3:0]

0xB: Arm JEDEC code

Bits 3:0 PARTNUM[11:8] : Part number bits [11:8]

0xD: ETM part number

ETM CoreSight peripheral identity register 2 (ETM_PIDR2)

Address offset: 0xFE8

Reset value: 0x0000 001B

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVISION[3:0]JEDECJEP106ID[6:4]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVISION[3:0] : Component revision number

0x1: r0p1

Bit 3 JEDEC : JEDEC assigned value

0x1: Designer identification specified by JEDEC

Bits 2:0 JEP106ID[6:4] : JEP106 identity code bits [6:4]

0x3: Arm JEDEC code

ETM CoreSight peripheral identity register 3 (ETM_PIDR3)

Address offset: 0xFEC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVAND[3:0]CMOD[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVAND[3:0] : Metal fix version

0x0: No metal fix

Bits 3:0 CMOD[3:0] : Customer modified

0x0: No customer modifications

ETM CoreSight component identity register 0 (ETM_CIDR0)

Address offset: 0xFF0

Reset value: 0x0000 000D

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[7:0] : Component identification bits [7:0]

0x0D: Common identification value

ETM CoreSight peripheral identity register 1 (ETM_PIDR1)

Address offset: 0xFF4

Reset value: 0x0000 0090

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 CLASS[3:0] : Component identification bits [15:12] - component class

0x9: Trace generator component

Bits 3:0 PREAMBLE[11:8] : Component identification bits [11:8]

0x0: Common identification value

ETM CoreSight component identity register 2 (ETM_CIDR2)

Address offset: 0xFF8

Reset value: 0x0000 0005

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[19:12] : Component identification bits [23:16]
0x05: Common identification value

ETM CoreSight component identity register 3 (ETM_CIDR3)

Address offset: 0xFFC

Reset value: 0x0000 00B1

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[27:20] : Component identification bits [31:24]
0xB1: Common identification value

57.9.2 ETM register map

Table 646. ETM register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x004ETM_PRGCTLRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EN
Reset value0
0x008ReservedReserved
0x00CETM_STATRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PMSTABLEIDLE
Reset valueXX
0x010ETM_CONFIGRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RSCOND[5:0]CCIBBRes.Res.Res.Res.
Reset valueXXXXXXXXX
0x014-0x01CReservedReserved
0x020ETM_EVENTCTL0 RRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TYPE1Res.Res.Res.SEL1[3:0]TYPE0Res.Res.Res.Res.SEL0[3:0]
Reset valueXXXXXXXXX
0x024ETM_EVENTCTL1 RRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LP OVERRIDEATBRes.Res.Res.Res.Res.Res.Res.Res.Res.INSTEN[1:0]
Reset valueXXX
0x028ReservedReserved

Table 646. ETM register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x02CETM_STALLCTLRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.INSTPRIORITYRes.ISTALLRes.Res.Res.Res.LEVEL[3:0]
Reset valueXXXXXX
0x030ReservedReserved
0x034ETM_SYNCPRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PERIOD[4:0]
Reset value0101
0x038ETM_CCCTLRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.THRESHOLD[11:0]
Reset valueXXXXXXXXXXX
0x03CReservedReserved
0x040ETM_TRACEIDRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TRACEID[6:0]
Reset valueXXX
0x044-0x07CReservedReserved
0x080ETM_VICTLRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EXLEVEL_S[3:0]Res.Res.Res.Res.Res.Res.Res.TRCERRTRCRESETSSSTATUSRes.EVENT[7:0]
Reset valueXXXXXXXXXXXXXX
0x084-0x13CReservedReserved
0x140ETM_CNTRLDVRORes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VALUE[15:0]
Reset valueXXX
0x144-0x17CReservedReserved
0x180ETM_IDR8MAXSPEC[31:0]
Reset value00000000000000000000000000000000
0x184ETM_IDR9NUMP0KEY[31:0]
Reset value00000000000000000000000000000000
0x188ETM_IDR10NUMP1KEY[31:0]
Reset value00000000000000000000000000000000
0x18CETM_IDR11NUMP1SPC[31:0]
Reset value00000000000000000000000000000000
0x190ETM_IDR12NUMCONDKEY[31:0]
Reset value00000000000000000000000000000001
0x194ETM_IDR13NUMCONDSPC[31:0]
Reset value00000000000000000000000000000000
0x198-0x1BCReservedReserved
0x1C0ETM_IMSPECRORes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SUPPORT[3:0]
Reset value0000
0x1C4-0x1DCReservedReserved

Table 646. ETM register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x1E0ETM_IDR0Res.Res.COMMOPTRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TRCEXDATAQSUPP[1:0]Res.Res.CONDTYPE [1:0]Res.NUMEVENT [1:0]REITSTACKRes.TRCCCITRCCONDTRCBBTRCDATA[1:0]INSTP0[1:0]Res.Res.Res.
Reset value10000001111100000
0x1E4ETM_IDR1DESIGNER[7:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TRCARCHM
AJ [3:0]
TRCARCHMI
N [3:0]
REVISION [3:0]
Reset value01000001010000100001
0x1E8ETM_IDR2Res.Res.Res.CCSIZE[3:0]DVSIZE[4:0]DASIZE[4:0]VMIDSIZE[4:0]CIDSIZE[4:0]IASIZE[4:0]
Reset value00000000000000000000000000100
0x1ECETM_IDR3NOOVERFLOWNUMPROC[2:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EXLEVEL_S [3:0]Res.Res.Res.Res.CCITMIN[11:0]
Reset value0000111110010000000100
0x1F0ETM_IDR4NUMVMIDC [3:0]NUMCIDC [3:0]NUMSSCC [3:0]NUMRSPAIR [3:0]NUMPC [3:0]Res.Res.Res.Res.Res.Res.Res.SUPPDACNUMDVC [3:0]NUMACPAIRS [3:0]
Reset value00000000000100010100000000000000
0x1F4ETM_IDR5REDFUNCNTRNUMCNTR[2:0]NUMSEQSTATE [2:0]Res.Res.Res.Res.Res.Res.TRACEIDSIZE [5:0]Res.Res.Res.Res.Res.Res.Res.Res.NUMEXTINSEL [2:0]NUMEXTIN[8:0]
Reset value10010000011000111000000000100
0x1F8-0x204ReservedReserved
0x208ETM_RSCTLR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PAIRINVINVRes.GROUP [2:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SELECT[7:0]
Reset valueXXXXXXXXXXXXX
0x20CETM_RSCTLR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.INVRes.GROUP [2:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SELECT[7:0]
Reset valueXXXXXXXXXXXX
0x210-0x27CReservedReserved
0x280ETM_SSCCR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
Reset value
0x284-0x29CReservedReserved
0x2A0ETM_SSCSR0STATUSRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PCDVDAINST
Reset valueXXXXX
0x2A4-0x2BCReservedReserved

Table 646. ETM register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x2C0ETM_SSPICR0ResResResResResResResResResResResResResResResResResResResResResResResResResResResResResPC[3:0]
Reset valueXXXX
0x2C4-0x30CReservedReserved
0x310ETM_PDCRResResResResResResResResResResResResResResResResResResResResResResResResResResResResPUResResRes
Reset value0
0x314ETM_PDSRResResResResResResResResResResResResResResResResResResResResResResResResResResResResResSTICKYPOWER
Reset value11
0x318-0xF9CReservedReserved
0xFA0ETM_CLAIMSETResResResResResResResResResResResResResResResResResResResResResResResResResResResResCLAIMSET
Reset value1111
0xFA4ETM_CLAIMCLRResResResResResResResResResResResResResResResResResResResResResResResResResResResResCLAIMCLR
Reset value0000
0xFA8-0xFB4ReservedReserved
0xFB8ETM_AUTHSTATResResResResResResResResResResResResResResResResResResResResResResResResResResSNIDSIDNSNIDNSID
Reset valueXXXXXX
0xFBCETM_DEVARCHARCHITECT[10:0]PRESENREVISIONARCHVERARCHPART[11:0]
Reset value01000111011100100100101000010011
0xFC0-0xFC8ReservedReserved
0xFCCETM_DEVTYPEResResResResResResResResResResResResResResResResResResResResResResResResResResSUBTYPEMAJORTYP
Reset value000100
0xFD0ETM_PIDR4ResResResResResResResResResResResResResResResResResResResResResResResResResResSIZEJEP106CON
Reset value000001
0xFD4-0xFDCReservedReserved
0xFE0ETM_PIDR0ResResResResResResResResResResResResResResResResResResResResResResResResResResPARTNUM[7:0]
Reset value001000
0xFE4ETM_PIDR1ResResResResResResResResResResResResResResResResResResResResResResResResResResJEP106IDPARTNUM
Reset value101110
0xFE8ETM_PIDR2ResResResResResResResResResResResResResResResResResResResResResResResResResResREVISIONJEDECJEP106ID
Reset value000110
0xFECETM_PIDR3ResResResResResResResResResResResResResResResResResResResResResResResResResResREVANDCMOD
Reset value000000

Table 646. ETM register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0xFF0ETM_CIDR0ResResResResResResResResResResResResResResResResResResResResResResResPREAMBLE[7:0]
Reset value00001101
0xFF4ETM_CIDR1ResResResResResResResResResResResResResResResResResResResResResResResCLASS[3:0]PREAMBLE [11:8]
Reset value10010000
0xFF8ETM_CIDR2ResResResResResResResResResResResResResResResResResResResResResResResPREAMBLE[19:12]
Reset value00000101
0xFFCETM_CIDR3ResResResResResResResResResResResResResResResResResResResResResResResPREAMBLE[27:20]
Reset value10110001

Refer to Section 2.3 for register boundary addresses.

57.10 Trace port interface unit (TPIU)

57.10.1 TPIU registers

To enable TPIU register access, the TRCENA bit in the DEMCR register of the CPU debug peripheral and the TRACE_EN bit in the CR register of the DBGMCU peripheral must both be enabled.

TPIU supported port size register (TPIU_SSPSR)

Address offset: 0x000

Reset value: 0x0000 000B

31302928272625242322212019181716
PORTSIZE[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
PORTSIZE[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 PORTSIZE[31:0] : Trace port sizes, from 1 to 32 pins
Bit n-1 when set, indicates that port size n is supported.
0x0000 000F: Port sizes 1 to 4 supported

TPIU current port size register (TPIU_CSPSR)

Address offset: 0x004

Reset value: 0x0000 0001

31302928272625242322212019181716
PORTSIZE[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
PORTSIZE[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 PORTSIZE[31:0] : current trace port size

Bit n-1 when set, indicates that the current port size is n pins. The value of n must be within the range of supported port sizes (1-4). Only one bit can be set, or unpredictable behavior may result.

This register must only be modified when the formatter is stopped.

TPIU asynchronous clock prescaler register (TPIU_ACPR)

Address offset: 0x010

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.PRESCALER[12:0]
rwrwrwrwrwrwrwrwrwrwrw

Bits 31:13 Reserved, must be kept at reset value.

Bits 12:0 PRESCALER[12:0] : Baudrate for the asynchronous output TRACESWO

The baudrate is given by the TRACECLKIN frequency divided by (PRESCALER + 1).

TPIU selected pin protocol register (TPIU_SPPR)

Address offset: 0x0F0

Reset value: 0x0000 0001

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TXMODE[1:0]
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bits 1:0 TXMODE[1:0] : Protocol used for trace output

0x0: Parallel trace port mode

0x1: Asynchronous SWO using Manchester encoding

0x2: Asynchronous SWO using NRZ encoding

0x3: Reserved

TPIU formatter and flush status register (TPIU_FFSR)

Address offset: 0x300

Reset value: 0x0000 0008

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FTNON
STOP
TCPPRE
SENT
FTSTOP
PED
FLINP
ROG
rrrr

Bits 31:4 Reserved, must be kept at reset value.

Bit 3 FTNONSTOP : Formatter stop

Indicates whether the formatter can be stopped or not.

1: The formatter cannot be stopped.

Bit 2 TCPPRESENT : TRACECTL output pin availability

Indicates whether the optional TRACECTL output pin is available for use.

0: TRACECTL pin is not present in this device.

Bit 1 FTSTOPPED : Formatter stop

The formatter has received a stop request signal and all trace data and post-amble is sent.

Any additional trace data on the ATB interface is ignored.

0: The formatter has not stopped.

Bit 0 FLINPROG : Flush in progress

Indicates whether a flush on the ATB slave port is in progress. This bit reflects the status of the AFVALIDS output. A flush can be initiated by the flush control bits in the TPIU_FFCR register.

0: No flush in progress

1: Flush in progress

TPIU formatter and flush control register (TPIU_FFCR)

Address offset: 0x304

Reset value: 0x0000 0100

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.TRIGINRes.FONM
AN
Res.Res.Res.Res.ENFCO
NT
Res.
rrwrw

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 TRIGIN : Trigger on trigger in

1: Indicates a trigger in the trace stream when the TRIGIN input is asserted.

Bit 7 Reserved, must be kept at reset value.

Bit 6 FONMAN : Flush on manual

0: Flush completed

1: Generates a flush.

Bits 5:2 Reserved, must be kept at reset value.

Bit 1 ENFCONT : Continuous formatting enable

Setting this bit to zero in SWO mode bypasses the formatter, and only ITM/DWT trace is output. ETM trace is discarded.

0: Continuous formatting disabled

1: Continuous formatting enabled

Bit 0 Reserved, must be kept at reset value.

TPIU periodic synchronization counter register (TPIU_PSCR)

Address offset: 0x308

Reset value: 0x0000 000A

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.PSCOUNT[12:0]
rwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:13 Reserved, must be kept at reset value.

Bits 12:0 PSCOUNT[12:0] : Formatter frame counter

Enables effective use of different sized TPAs without wasting large amounts of the storage capacity of the capture device. This counter contains the number of formatter frames since the last synchronization packet of 128 bits. It is a 12-bit counter with a maximum count value of 4096. This equates to synchronization every 65536 bytes, that is, 4096 packets x 16 bytes per packet. The default is set up for a synchronization packet every 1024 bytes, that is, every 64 formatter frames. If the formatter is configured for continuous mode, full and half-word synchronization frames are inserted during normal operation. Under these circumstances, the count value is the maximum number of complete frames between full synchronization packets.

TPIU claim tag set register (TPIU_CLAIMSET)

Address offset: 0xFA0

Reset value: 0x0000 000F

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CLAIMSET[3:0]
rwrwrwrw

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 CLAIMSET[3:0] : Claim tag bit setting

Write:

0000: No effect

xxx1: Sets bit 0.

xx1x: Sets bit 1.

x1xx: Sets bit 2.

1xxx: Sets bit 3.

Read:

0xF: Indicates there are 4 bits in claim tag.

TPIU claim tag clear register (TPIU_CLAIMCLR)

Address offset: 0xFA4

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CLAIMCLR[3:0]
rwrwrwrw

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 CLAIMCLR[3:0] : Claim tag bit reset

Write:

0000: No effect

xxx1: Clears bit 0.

xx1x: Clears bit 1.

x1xx: Clears bit 2.

1xxx: Clears bit 3.

Read: Returns current value of claim tag.

TPIU device configuration register (TPIU_DEVID)

Address offset: 0xFC8

Reset value: 0x0000 0CA1

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.SWOUARTNRZSWOMANTCLKDATAFIFOSIZE[2:0]CLKRELATMAXNUM[4:0]
rrrrrrrrrrrr

Bits 31:12 Reserved, must be kept at reset value.

Bit 11 SWOUARTNRZ : Serial-wire output, NRZ support

0x1: Supported

Bit 10 SWOMAN : Serial-wire output, Manchester encoded format, support

0x1: Supported

Bit 9 TCLKDATA : Trace clock plus data support

0x0: Supported

Bits 8:6 FIFOSIZE[2:0] : FIFO size in powers of two

0x2: FIFO size = 4 bytes

Bit 5 CLKRELAT : ATB clock and TRACECLKIN relationship (synchronous or asynchronous)

0x1: Asynchronous

Bits 4:0 MAXNUM[4:0] : Number/type of ATB input port multiplexing

0x1: Two input ports

TPIU device type identifier register (TPIU_DEVTYPE)

Address offset: 0xFCC

Reset value: 0x0000 0011

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.SUBTYPE[3:0]MAJORTYPE[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SUBTYPE[3:0] : Subclassification

0x1: Trace port component

Bits 3:0 MAJORTYPE[3:0] : Major classification

0x1: Trace sink component

TPIU CoreSight peripheral identity register 4 (TPIU_PIDR4)

Address offset: 0xFD0

Reset value: 0x0000 0004

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
SIZE[3:0]JEP106CON[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SIZE[3:0] : Register file size

0x0: The register file occupies a single 4-Kbyte region.

Bits 3:0 JEP106CON[3:0] : JEP106 continuation code

0x4: Arm JEDEC code

TPIU CoreSight peripheral identity register 0 (TPIU_PIDR0)

Address offset: 0xFE0

Reset value: 0x0000 0021

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
PARTNUM[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PARTNUM[7:0] : Part number bits [7:0]

0x21: TPIU part number

TPIU CoreSight peripheral identity register 1 (TPIU_PIDR1)

Address offset: 0xFE4

Reset value: 0x0000 00BD

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
JEP106ID[3:0]PARTNUM[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 JEP106ID[3:0] : JEP106 identity code bits [3:0]

0xB: Arm JEDEC code

Bits 3:0 PARTNUM[11:8] : Part number bits [11:8]

0xD: TPIU part number

TPIU CoreSight peripheral identity register 2 (TPIU_PIDR2)

Address offset: 0xFE8

Reset value: 0x0000 000B

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVISION[3:0]JEDECJEP106ID[6:4]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVISION[3:0] : Component revision number

0x0: r0p0

Bit 3 JEDEC : JEDEC assigned value

0x1: designer identification specified by JEDEC

Bits 2:0 JEP106ID[6:4] : JEP106 identity code bits [6:4]

0x3: Arm JEDEC code

TPIU CoreSight peripheral identity register 3 (TPIU_PIDR3)

Address offset: 0xFEC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVAND[3:0]CMOD[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVAND[3:0] : Metal fix version

0x0: No metal fix

Bits 3:0 CMOD[3:0] : Customer modified

0x0: No customer modifications

TPIU CoreSight component identity register 0 (TPIU_CIDR0)

Address offset: 0xFF0

Reset value: 0x0000 000D

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[7:0] : Component identification bits [7:0]

0x0D: Common identification value

TPIU CoreSight peripheral identity register 1 (TPIU_CIDR1)

Address offset: 0xFF4

Reset value: 0x0000 0090

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 CLASS[3:0] : Component ID bits [15:12] - component class

0x9: CoreSight component

Bits 3:0 PREAMBLE[11:8] : Component identification bits [11:8]

0x0: common identification value

TPIU CoreSight component identity register 2 (TPIU_CIDR2)

Address offset: 0xFF8

Reset value: 0x0000 0005

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[19:12] : Component identification bits [23:16]
0x05: Common identification value

TPIU CoreSight component identity register 3 (TPIU_CIDR3)

Address offset: 0xFFC

Reset value: 0x0000 00B1

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[27:20] : Component identification bits [31:24]
0xB1: Common identification value

57.10.2 TPIU register map

Table 647. TPIU register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x000TPIU_SSPSRPORTSIZE[31:0]
Reset value00000000000000000000000000001011
0x004TPIU_CSPSRPORTSIZE[31:0]
Reset value00000000000000000000000000000001
0x008ReservedReserved
0x010TPIU_ACPRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PRESCALER[12:0]
Reset value0000000000000
0x014-
0x0EC
ReservedReserved
0x0F0TPIU_SPPRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TXMODE [1:0]
Reset value01
0x0F4 to
0x2FC
ReservedReserved
0x300TPIU_FFSRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FTNONSTOPTCPRESENTFTSTOPPEDFLINPROG
Reset value1000
0x304TPIU_FFCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TRIGINRes.Res.Res.FONMANRes.Res.Res.Res.Res.Res.Res.ENFCONTRes.
Reset value100

Table 647. TPIU register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x308TPIU_PSCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PSCOUNT[12:0]
Reset value0000000001010
030-0xF9CReservedReserved
0xFA0TPIU_CLAIMSETRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CLAIMSET [3:0]
Reset value1111
0xFA4TPIU_CLAIMCLRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CLAIMCLR [3:0]
Reset value0000
0FA8-0xFC4ReservedReserved
0xFC8TPIU_DEVIDRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SWOUARTNRZSWOMANTCLKDATARes.Res.Res.Res.Res.Res.Res.MaXNUM[4:0]
Reset value110010100001
0xFCCTPIU_DEVTYPERes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SUBTYPE [3:0]MAJORTYPE [3:0]
Reset value0001
0xFD0TPIU_PIDR4Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SIZE[3:0]JEP106CON [3:0]
Reset value0000
0xFE0TPIU_PIDR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PARTNUM[7:0]
Reset value01
0xFE4TPIU_PIDR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID [3:0]PARTNUM [11:8]
Reset value1011
0xFE8TPIU_PIDR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.REVISION [3:0]JEDEC [6:4]
Reset value0000
0xFECTPIU_PIDR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.REVAND[3:0]CMOD[3:0]
Reset value0000
0xFF0TPIU_CIDR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
Reset value01
0xFF4TPIU_CIDR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE [11:8]
Reset value1001
0xFF8TPIU_CIDR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
Reset value01
0xFFCTPIU_CIDR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
Reset value10

Refer to Section 2.3 for register boundary addresses.

57.11 Cross-trigger interface (CTI)

57.11.1 CTI registers

The register file base address for the CTI is 0xE004 2000.

CTI control register (CTI_CONTROL)

Address offset: 0x000

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.GLBEN
rw

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 GLBEN : Global CTI enable

0: Disabled

1: Enabled

CTI trigger acknowledge register (CTI_INTACK)

Address offset: 0x010

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.INTACK[7:0]
wwwwwwww

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 INTACK[7:0] : Trigger acknowledge

There is one bit of the register for each CTITRIGOUT output. When a 1 is written to a bit in this register, the corresponding CTITRIGOUT output is acknowledged, causing it to be cleared.

CTI application trigger set register (CTI_APPSET)

Address offset: 0x014

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.APPSET[3:0]
rwrwrwrw

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 APPSET[3:0] : Channel event setting

Read:

Write:

CTI application trigger clear register (CTI_APPCLEA)

Address offset: 0x018

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.APPCLEAR[3:0]
rwrwrwrw

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 APPCLEAR[3:0] : Channel event clear

0000: No effect

XXX1: Clears event on channel 0.

XX1X: Clears event on channel 1.

X1XX: Clears event on channel 2.

1XXX: Clears event on channel 3.

CTI application pulse register (CTI_APPPULSE)

Address offset: 0x01C

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.APPPULSE[3:0]
wwww

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 APPPULSE[3:0] : Pulse channel event

This register clears itself immediately.

0000: No effect

XXX1: Generates pulse on channel 0.

XX1X: Generates pulse on channel 1.

X1XX: Generates pulse on channel 2.

1XXX: Generates pulse on channel 3.

CTI trigger input x enable register (CTI_INENx)

Address offset: 0x020 + 0x4 * x, (x = 0 to 7)

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TRIGINEN[3:0]
rwrwrwrw

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 TRIGINEN[3:0] : Trigger input event enable

Enables or disables a cross trigger event on each of the four channels when CTITRIGINx is activated (x = 0 to 7).

0000: Trigger does not generate events on channels.

XXX1: Trigger x generates events on channel 0.

XX1X: Trigger x generates events on channel 1.

X1XX: Trigger x generates events on channel 2.

1XXX: Trigger x generates events on channel 3.

CTI trigger output x enable register (CTI_OUTENx)

Address offset: 0x0A0 + 0x4 * x, (x = 0 to 7)

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TRIGOUTEN[3:0]
rwrwrwrw

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 TRIGOUTEN[3:0] : Trigger output event enable

For each channel, defines whether an event on that channel generates a trigger on CTITRIGOUTx (x = 0 to 7).

0000: Channel events do not generate triggers on trigger outputs.

XXX1: Channel 0 events generate triggers on trigger output x.

XX1X: Channel 1 events generate triggers on trigger output x.

X1XX: Channel 2 events generate triggers on trigger output x.

1XXX: Channel 3 events generate triggers on trigger output x.

CTI trigger input status register (CTI_TRIGINSTATUS)

Address offset: 0x130

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.TRIGINSTATUS[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 TRIGINSTATUS[7:0] : Trigger input status

There is one bit of the register for each CTITRIGINx input. When a bit is set to 1, it indicates that the corresponding trigger input is active. When it is set to 0, the corresponding trigger input is inactive.

CTI trigger output status register (CTI_TRIGOUTSTATUS)

Address offset: 0x134

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.TRIGOUTSTATUS[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 TRIGOUTSTATUS[7:0] : Trigger output status

There is one bit of the register for each CTITRIGOUT output. When a bit is set to 1, it indicates that the corresponding trigger output is active. When it is set to 0, the corresponding trigger output is inactive.

CTI channel input status register (CTI_CHINSTATUS)

Address offset: 0x138

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CHINSTATUS[3:0]
rrrr

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 CHINSTATUS[3:0] : Channel input status

There is one bit of the register for each channel input. When a bit is set to 1 it indicates that the corresponding channel input is active. When it is set to 0, the corresponding channel input is inactive.

CTI channel output status register (CTI_CHOUTSTATUS)

Address offset: 0x13C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CHOUTSTATUS[3:0]
rrrr

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 CHOUTSTATUS[3:0] : Channel output status

There is one bit of the register for each channel output. When a bit is set to 1 it indicates that the corresponding channel output is active. When it is set to 0, the corresponding channel output is inactive.

CTI channel gate register (CTI_GATE)

Address offset: 0x140

Reset value: 0x0000 000F

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.GATEEN[3:0]
rwrwrwrw

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 GATEEN[3:0] : Channel output enable

For each channel, defines whether an event on that channel can propagate over the CTM to other CTIs.

0000: Channel events do not propagate.

XXX1: Channel 0 events propagate.

XX1X: Channel 1 events propagate.

X1XX: Channel 2 events propagate.

1XXX: Channel 3 events propagate.

CTI device configuration register (CTI_DEVID)

Address offset: 0xFC8

Reset value: 0x0004 0800

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.NUMCH[3:0]
rrrr
1514131211109876543210
NUMTRIG[7:0]Res.Res.Res.EXTMUXNUM[4:0]
rrrrrrrrrrrrr

Bits 31:20 Reserved, must be kept at reset value.

Bits 19:16 NUMCH[3:0] : Number of ECT channels available

0x4: Four channels

Bits 15:8 NUMTRIG[7:0] : Number of ECT triggers available

0x8: Eight trigger inputs and eight trigger outputs

Bits 7:5 Reserved, must be kept at reset value.

Bits 4:0 EXTMUXNUM[4:0] : Number of trigger input/output multiplexers

0x0: None

CTI device type identifier register (CTI_DEVTYPE)

Address offset: 0xFCC

Reset value: 0x0000 0014

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
SUBTYPE[3:0]MAJORTYPE[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SUBTYPE[3:0] : Subclassification

0x1: Cross-triggering component

Bits 3:0 MAJORTYPE[3:0] : Major classification

0x4: Indicates that this component allows a debugger to control other components in a CoreSight SoC-400 system.

CTI CoreSight peripheral identity register 4 (CTI_PIDR4)

Address offset: 0xFD0

Reset value: 0x0000 0004

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
SIZE[3:0]JEP106CON[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SIZE[3:0] : Register file size

0x0: The register file occupies a single 4-Kbyte region.

Bits 3:0 JEP106CON[3:0] : JEP106 continuation code

0x4: Arm JEDEC code

CTI CoreSight peripheral identity register 0 (CTI_PIDR0)

Address offset: 0xFE0

Reset value: 0x0000 0021

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PARTNUM[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PARTNUM[7:0] : Part number bits [7:0]

0x21: CTI part number

CTI CoreSight peripheral identity register 1 (CTI_PIDR1)

Address offset: 0xFE4

Reset value: 0x0000 00BD

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID[3:0]PARTNUM[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 JEP106ID[3:0] : JEP106 identity code bits [3:0]

0xB: Arm JEDEC code

Bits 3:0 PARTNUM[11:8] : Part number bits [11:8]

0xD: CTI part number

CTI CoreSight peripheral identity register 2 (CTI_PIDR2)

Address offset: 0xFE8

Reset value: 0x0000 000B

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVISION[3:0]JEDECJEP106ID[6:4]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVISION[3:0] : Component revision number

0x0: r0p0

Bit 3 JEDEC : JEDEC assigned value

0x1: Designer identification specified by JEDEC

Bits 2:0 JEP106ID[6:4] : JEP106 identity code bits [6:4]

0x3: Arm JEDEC code

CTI CoreSight peripheral identity register 3 (CTI_PIDR3)

Address offset: 0xFEC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
REVAND[3:0]CMOD[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVAND[3:0] : Metal fix version

0x0: No metal fix

Bits 3:0 CMOD[3:0] : Customer modified

0x0: No customer modifications

CTI CoreSight component identity register 0 (CTI_CIDR0)

Address offset: 0xFF0

Reset value: 0x0000 000D

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
PREAMBLE[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[7:0] : Component identification bits [7:0]

0x0D: Common identification value

CTI CoreSight peripheral identity register 1 (CTI_CIDR1)

Address offset: 0xFF4

Reset value: 0x0000 0090

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
CLASS[3:0]PREAMBLE[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 CLASS[3:0] : Component identification bits [15:12] - component class
0x9: CoreSight component

Bits 3:0 PREAMBLE[11:8] : Component identification bits [11:8]
0x0: Common identification value

CTI CoreSight component identity register 2 (CTI_CIDR2)

Address offset: 0xFF8

Reset value: 0x0000 0005

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
PREAMBLE[19:12]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[19:12] : Component identification bits [23:16]
0x05: Common identification value

CTI CoreSight component identity register 3 (CTI_CIDR3)

Address offset: 0xFFC

Reset value: 0x0000 00B1

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.
PREAMBLE[27:20]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[27:20] : Component identification bits [31:24]
0xB1: Common identification value

57.11.2 CTI register map

Table 648. CTI register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x000CTI_CONTROLRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.GLBEN
Reset value0
0x004-0x00CReservedReserved
0x010CTI_INTACKRes.INTACK[7:0]
Reset valueXXXXXXXX
0x014CTI_APPSETRes.APPSET[3:0]
Reset value0000
0x018CTI_APPCLEARRes.APPCLEAR[3:0]
Reset value0000
0x01CCTI_APPPULSERes.APPPULSE[3:0]
Reset valueXXXX
0x020 + 0x4 * x, (x=0 to 7)CTI_INENxRes.TRIGINEN [3:0]
Reset value0000
0x040-0x09CReservedReserved
0x0A0 + 0x4 * x, (x=0 to 7)CTI_OUTENxRes.TRIGOUTEN [3:0]
Reset value0000
0x0C0-0x12CReservedReserved
0x130CTI_TRIGINSTATUSRes.TRIGINSTATUS[7:0]
Reset value00000000
0x134CTI_TRIGOUTSTATUSRes.TRIGOUTSTATUS[7:0]
Reset value00000000
0x138CTI_CHINSTATUSRes.CHINSTATUS [3:0]
Reset value0000
0x13CCTI_CHOUTSTATUSRes.CHOUTSTATUS[3:0]
Reset value0000

Table 648. CTI register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x140CTI_GATEResResResResResResResResResResResResResResResResResResResResResResResResResResResResResGATEEN[3:0]
Reset value1111
0x144-0xFC4ReservedReserved
0xFC8CTI_DEVIDResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResEXTMUXNUM[4:0]
Reset value010000001000000
0xFC8CTI_DEVTYPEResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResMAJOR[3:0]
Reset value010
0xFD0CTI_PIDR4ResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResJEP106CON[3:0]
Reset value010
0xFD4-0xFDCReservedReserved
0xFE0CTI_PIDR0ResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResPARTNUM[7:0]
Reset value0
0xFE4CTI_PIDR1ResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResPARTNUM[11:8]
Reset value1
0xFE8CTI_PIDR2ResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResJEP106ID[6:4]
Reset value1
0xFECCTI_PIDR3ResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResCMOD[3:0]
Reset value0
0xFF0CTI_CIDR0ResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResPREAMBLE[7:0]
Reset value0
0xFF4CTI_CIDR1ResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResPREAMBLE[11:8]
Reset value1
0xFF8CTI_CIDR2ResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResPREAMBLE[19:12]
Reset value0
0xFFCCTI_CIDR3ResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResPREAMBLE[27:20]
Reset value1

Refer to Section 2.3 for register boundary addresses.

57.12 Microcontroller debug unit (DBGMCU)

The DBGMCU is a component containing a number of registers that control the power and clock behavior in debug mode. It allows the debugger (or the software):

57.12.1 Device ID

The DBGMCU includes an identity code register, DBGMCU_IDCODE. This register contains the ID code for the device. Debug tools can locate this register via the CoreSight discovery procedure described in Section 57.5: ROM tables .

57.12.2 Low-power mode emulation

When the device enters either Stop mode (clocks are stopped) or Standby mode (core power is switched off), the debugger can no longer access the debug access port and loses the connection with the device. To avoid this, the debugger (or software) can set DBG_STANDBY and/or DBG_STOP in DBGMCU_CR. These bits, when set, maintain the clock and power to the processor debug peripheral while the device is in the corresponding low-power mode:

Peripheral devices continue to operate, so the device behaviour may not be identical to the one in the actual low-power mode.

57.12.3 Peripheral clock freeze

The DBGMCU peripheral clock freeze registers allow the operation of certain peripherals to be suspended in debug mode. The peripheral units which support this feature are listed in the table below.

Table 649. Peripheral clock freeze control bits

BusControl registerPeripheralDescription
APB1DBGMCU_APB1LFZRDBG_RTC_STOPRTC clock stop in debug
DBG_I3C1_STOPI3C1 timeout stop in debug
DBG_I2C2_STOPI2C2 SMBUS timeout stop in debug
DBG_I2C1_STOPI2C1 SMBUS timeout stop in debug
DBG_IWDG_STOPIWDG clock freeze in debug
DBG_WWDG_STOPWWDG clock freeze in debug
DBG_TIM7_STOPTIM7 clock freeze in debug
DBG_TIM6_STOPTIM6 clock freeze in debug

Table 649. Peripheral clock freeze control bits (continued)

BusControl registerPeripheralDescription
APB1DBGMCU_APB1LFZRDBG_TIM4_STOPTIM4 clock freeze in debug
DBG_TIM3_STOPTIM3 clock freeze in debug
DBG_TIM2_STOPTIM2 clock freeze in debug
DBGMCU_APB1HFZRDBG_LPTIM2_STOPLPTIM2 clock freeze in debug
DBG_I2C4_STOPI2C4 SMBUS timeout stop in debug
DBGMCU_APB2FZRDBG_I3C2_STOPI3C1 timeout stop in debug
DBG_TIM17_STOPTIM17 clock freeze in debug
DBG_TIM16_STOPTIM16 clock freeze in debug
DBG_TIM15_STOPTIM15 clock freeze in debug
DBG_TIM12_STOPTIM12 clock freeze in debug
DBG_TIM8_STOPTIM8 clock freeze in debug
DBG_TIM1_STOPTIM1 clock freeze in debug
DBGMCU_APB3FZRDBG_LPTIM4_STOPLPTIM4 clock freeze in debug
DBG_LPTIM3_STOPLPTIM3 clock freeze in debug
DBG_LPTIM1_STOPLPTIM1 clock freeze in debug
DBG_I2C3_STOPI2C3 SMBUS timeout stop in debug
DBGMCU_AHB1FZRDBG_HSP1_STOPHSP is frozen in debug
DBG_GPDMA11_STOPGPDMA channel 11 is frozen
DBG_GPDMA10_STOPGPDMA channel 10 is frozen
DBG_GPDMA9_STOPGPDMA channel 9 is frozen
DBG_GPDMA8_STOPGPDMA channel 8 is frozen
DBG_GPDMA7_STOPGPDMA channel 7 is frozen
DBG_GPDMA6_STOPGPDMA channel 6 is frozen
DBG_GPDMA5_STOPGPDMA channel 5 is frozen
DBG_GPDMA4_STOPGPDMA channel 4 is frozen
DBG_GPDMA3_STOPGPDMA channel 3 is frozen
DBG_GPDMA2_STOPGPDMA channel 2 is frozen
DBG_GPDMA1_STOPGPDMA channel 1 is frozen
DBG_GPDMA0_STOPGPDMA channel 0 is frozen

Each peripheral unit or DMA channel has a corresponding control bit, DBG_xxx_STOP, where xxx is the acronym of the peripheral (or DMA channel). The control bits are organized in DBGMCU_zzzFZR registers, where zzz corresponds to the name of the bus (AHB or APB).

The control bit, when set, causes the corresponding peripheral operation to be suspended when the CPU is stopped in debug (HALTED = 1), according to the table below:

Table 650. Peripheral behavior in debug mode

HALTEDDBG_xxx_STOPPeripheral behaviour
0XThe operation continues.
10The operation continues.
11The operation is suspended.

The accessibility of DBG_xxx_STOP bits by the debugger depends on the state of the authentication signal spiden.

When spiden = 1 (secure privilege debug enabled), all bits can be modified by a secure access. Only bits corresponding to nonsecure peripherals (or DMA channels) can be modified by a nonsecure access. All bits can be read by both nonsecure or secure accesses.

When spiden = 0 (secure privilege debug disabled), only nonsecure accesses are possible (secure access requests by the debugger are converted to nonsecure by the CPU). Only bits corresponding to nonsecure peripherals (or DMA channels) can be modified. All bits can be read. This is summarized in the table below.

Table 651. Debugger access to freeze register bits

spidenPeripheral xxx statusAccess security attributeDBG_xxx_STOP can be modified?DBG_xxx_STOP can be read?
0NonsecureNonsecureYesYes
SecureYes (1)Yes (1)
SecureNonsecureNoYes
SecureNo (1)Yes (1)
1NonsecureNonsecureYesYes
SecureYesYes
SecureNonsecureNoYes
SecureYesYes

1. When spiden = 0, secure access requests by the debugger are converted to nonsecure.

The status (secure or nonsecure) of a TrustZone-aware peripheral or a DMA channel, is signaled to the DBGMCU by the peripheral.

The CPU access to the DBG_xxx_STOP bits does not depend on spiden. This access depends only on the security status of the peripheral. The bits corresponding to a secure peripheral (or DMA channel) can only be modified by a secure access (when CPU is in secure state).

57.12.4 DBGMCU registers

The DBGMCU registers are not reset by a system reset, only by a power-on reset. They are accessible to the debugger via the AHB access port, and to software, at base address 0xE004 4000.

DBGMCU identity code register (DBGMCU_IDCODE)

Address offset: 0x00

Reset value: 0xXXXX 6XXX

31302928272625242322212019181716
REV_ID[15:0]
rrrrrrrrrrrrrrrr
1514131211109876543210
Res.Res.Res.Res.DEV_ID[11:0]
rrrrrrrrrrrr

Bits 31:16 REV_ID[15:0] : Revision

0x1000: Revision A

0x1001: Revision Z

Bits 15:12 Reserved, must be kept at reset value.

Bits 11:0 DEV_ID[11:0] : Device identification

0x42A: STM32U3B5/3C5

0x42B: STM32U356/366

0x454: STM32U375/385

DBGMCU configuration register (DBGMCU_CR)

Address offset: 0x04

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.TRACE_MODE[1:0]TRACE_ENTRACE_IOENRes.DBG_S
TANDB
Y
DBG_S
TOP
Res.
rwrwrwrwrw

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:6 TRACE_MODE[1:0] : Trace pin assignment

0x0: Trace pins assigned for asynchronous mode (TRACESWO)

0x1: Trace pins assigned for synchronous mode with a port width of 1 (TRACECK, TRACED0)

0x2: Trace pins assigned for synchronous mode with a port width of 2 (TRACECK, TRACED0-1)

0x3: Trace pins assigned for synchronous mode with a port width of 4 (TRACECK, TRACED0-3)

Bit 5 TRACE_EN : Trace port and clock enable.

This bit enables the trace port clock, TRACECK.

0: Disabled

1: Enabled

Bit 4 TRACE_IOEN : Trace pin enable

0: Disabled - trace pins not assigned

1: Enabled - trace pins assigned according to the value of TRACE_MODE bitfield

Bit 3 Reserved, must be kept at reset value.

Bit 2 DBG_STANDBY : Allows debug in Standby mode

0: Normal operation. All clocks are disabled and the core powered down automatically in Standby mode.

1: Core power and the system clock are maintained to allow debugger access to the DBGMCU and CPU debug peripherals. The debug connection is maintained, and breakpoints can be hit upon exiting standby mode. The SRAM memory content is retained during standby debug mode.

Bit 1 DBG_STOP : Allows debug in Stop mode

0: Normal operation. All clocks are disabled automatically in Stop mode.

1: Automatic clock stop disabled. All active clocks and oscillators continue to run during Stop mode, allowing full debug capability. On exit from Stop mode, the clock settings are set to the Stop mode exit state.

Bit 0 Reserved, must be kept at reset value.

DBGMCU_APB1L peripheral freeze register (DBGMCU_APB1LFZR)

Address offset: 0x08

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.DBG_R
TC_ST
OP
Res.Res.Res.Res.Res.Res.DBG_I
3C1_S
TOP
DBG_I
2C2_S
TOP
DBG_I
2C1_S
TOP
Res.Res.Res.Res.Res.
rwrwrwrw

1514131211109876543210
Res.Res.Res.DBG_I
WDG
STOP
DBG_I
WWDG
_STOP
Res.Res.Res.Res.Res.DBG_T
IM7_ST
OP
DBG_T
IM6_ST
OP
Res.DBG_T
IM4_ST
OP
DBG_T
IM3_ST
OP
DBG_T
IM2_ST
OP
rwrwrwrwrwrwrw

Bit 31 Reserved, must be kept at reset value.

Bit 30 DBG_RTC_STOP : RTC stop in debug

Bits 29:24 Reserved, must be kept at reset value.

Bit 23 DBG_I3C1_STOP : I3C1 timeout stop in debug

Bit 22 DBG_I2C2_STOP : I2C2 SMBUS timeout stop in debug

Bit 21 DBG_I2C1_STOP : I2C1 SMBUS timeout stop in debug

Bits 20:13 Reserved, must be kept at reset value.

Bit 12 DBG_IWDG_STOP : IWDG stop in debug

Bit 11 DBG_WWDG_STOP : WWDG stop in debug

Bits 10:6 Reserved, must be kept at reset value.

Bits 5:4 DBG_TIMy_STOP : TIMy stop in debug (y = 7 to 6)

Bit 3 Reserved, must be kept at reset value.

Bits 2:0 DBG_TIMy_STOP : TIMy stop in debug (y = 4 to 2)

DBGMCU_APB1H peripheral freeze register (DBGMCU_APB1HFZR)

Address offset: 0x0C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.DBG_L
PTIM2_
STOP
Res.Res.Res.DBG_I
2C4_S
TOP
Res.
rwrw

Bits 31:6 Reserved, must be kept at reset value.

Bit 5 DBG_LPTIM2_STOP : LPTIM2 stop in debug

0: Normal operation. The LPTIM2 continues to operate while the CPU is in debug mode.

1: Stop in debug. The LPTIM2 is frozen while the CPU is in debug mode.

Bits 4:2 Reserved, must be kept at reset value.

Bit 1 DBG_I2C4_STOP : I2C4 SMBUS timeout stop in debug

0: Normal operation. I2C4 SMBUS timeout continues to operate while the CPU is in debug mode.

1: Stop in debug. I2C4 SMBUS timeout is frozen while the CPU is in debug mode.

Note: This bit is only available on STM32U3B5/3C5.

Bit 0 Reserved, must be kept at reset value.

DBGMCU APB2 peripheral freeze register (DBGMCU_APB2FZR)

Address offset: 0x10

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.DBG_I3C2_S TOPRes.Res.Res.Res.Res.Res.Res.Res.DBG_T IM17_S TOPDBG_T IM16_S TOPDBG_T IM15_S TOP
rwrwrwrw
1514131211109876543210
DBG_T IM12_S TOPRes.DBG_T IM8_S TOPRes.DBG_T IM1_S TOPRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
rwrwrw

Bits 31:28 Reserved, must be kept at reset value.

Bit 27 DBG_I3C2_STOP : I3C2 timeout stop in debug

0: Normal operation. I3C2 timeout continues to operate while the CPU is in debug mode.

1: Normal in debug. I3C2 timeout is frozen while the CPU is in debug mode.

Bits 26:19 Reserved, must be kept at reset value.

Bits 18:16 DBG_TIMy_STOP : TIMy stop in debug (y = 17 to 15)

0: Normal operation. The TIMy continues to operate while the CPU is in debug mode.

1: Stop in debug. The TIMy is frozen while the CPU is in debug mode.

Bit 15 DBG_TIM12_STOP : TIM12 stop in debug

0: Normal operation. The TIM12 continues to operate while the CPU is in debug mode.

1: Stop in debug. The TIM12 is frozen while the CPU is in debug mode

Note: This bit is only available on STM32U3B5/3C5.

Bit 14 Reserved, must be kept at reset value.

Bit 13 DBG_TIM8_STOP : TIM8 stop in debug

0: Normal operation. The TIM8 continues to operate while the CPU is in debug mode.

1: Stop in debug. The TIM8 is frozen while the CPU is in debug mode.

Note: This bit is only available on STM32U3B5/3C5.

Bit 12 Reserved, must be kept at reset value.

Bit 11 DBG_TIM1_STOP : TIM1 stop in debug

0: Normal operation. The TIM1 continues to operate while the CPU is in debug mode.

1: Stop in debug. The TIM1 is frozen while the CPU is in debug mode.

Bits 10:0 Reserved, must be kept at reset value.

DBGMCU APB3 peripheral freeze register (DBGMCU_APB3FZR)

Address offset: 0x14

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.DBG_L
PTIM4_
STOP
DBG_L
PTIM3_
STOP
DBG_L
PTIM1_
STOP
Res.
rwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.DBG_I
2C3_S
TOP
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
rw

Bits 31:20 Reserved, must be kept at reset value.

Bit 19 DBG_LPTIM4_STOP : LPTIM4 stop in debug

0: Normal operation. The LPTIM4 continues to operate while the CPU is in debug mode.

1: Stop in debug. The LPTIM4 is frozen while the CPU is in debug mode.

Bit 18 DBG_LPTIM3_STOP : LPTIM3 stop in debug

0: Normal operation. The LPTIM3 continues to operate while the CPU is in debug mode.

1: Stop in debug. The LPTIM3 is frozen while the CPU is in debug mode.

Bit 17 DBG_LPTIM1_STOP : LPTIM1 stop in debug

0: Normal operation. The LPTIM1 continues to operate while the CPU is in debug mode.

1: Stop in debug. The LPTIM1 is frozen while the CPU is in debug mode.

Bits 16:11 Reserved, must be kept at reset value.

Bit 10 DBG_I2C3_STOP : I2C3 stop in debug

0: Normal operation. The I2C3 continues to operate while the CPU is in debug mode.

1: Stop in debug. The I2C3 is frozen while the CPU is in debug mode.

Bits 9:0 Reserved, must be kept at reset value.

DBGMCU AHB1 peripheral freeze register (DBGMCU_AHB1FZR)

Address offset: 0x20

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.DBG_H
SP1_S
TOP
rw
1514131211109876543210
Res.Res.Res.Res.DBG_G
PDMA1
1_STO
P
DBG_G
PDMA1
0_STO
P
DBG_G
PDMA9
_STOP
DBG_G
PDMA8
_STOP
DBG_G
PDMA7
_STOP
DBG_G
PDMA6
_STOP
DBG_G
PDMA5
_STOP
DBG_G
PDMA4
_STOP
DBG_G
PDMA3
_STOP
DBG_G
PDMA2
_STOP
DBG_G
PDMA1
_STOP
DBG_G
PDMA0
_STOP
rwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:17 Reserved, must be kept at reset value.

Bit 16 DBG_HSP1_STOP : HSP1 stop in debug

0: Normal operation. HSP1 continues to operate while the CPU is in debug mode.

1: Stop in debug. HSP1 is frozen while the CPU is in debug mode.

Note: HSP1 is only available on STM32U3B5/3C5 devices.

Bits 15:12 Reserved, must be kept at reset value.

Bits 11:0 DBG_GPDMAy_STOP : GPDMA channel y stop in debug (y = 11 to 0)

0: Normal operation. GPDMA channel y continues to operate while the CPU is in debug mode.

1: Stop in debug. GPDMA channel y is frozen while the CPU is in debug mode.

DBGMCU status register (DBGMCU_SR)

Address offset: 0xFC

Reset value: 0xXXXX 0001

31302928272625242322212019181716
AP_ENABLED[15:0]
rrrrrrrrrrrrrrrr
1514131211109876543210
AP_PRESENT[15:0]
rrrrrrrrrrrrrrrr

Bits 31:16 AP_ENABLED[15:0] : Bit n identifies whether access port AP n is open (can be accessed via the debug port) or locked (debug access to the AP is blocked)

Bit n = 0: APn locked

Bit n = 1: APn enabled

Bits 15:0 AP_PRESENT[15:0] : Bit n identifies whether access port AP n is present in device

Bit n = 0: APn absent

Bit n = 1: APn present

DBGMCU debug host authentication register
(DBGMCU_DBG_AUTH_HOST)

Address offset: 0x100

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
AUTH_KEY[31:16]
wwwwwwwwwwwwwwww
1514131211109876543210
AUTH_KEY[15:0]
wwwwwwwwwwwwwwww

Bits 31:0 AUTH_KEY[31:0] : Device authentication key

The device specific 128-bit authentication key (OEM key) must be written to this register (in four successive 32-bit writes, least significant word first) to permit RDP regression. Writing a wrong key locks access to the device, and prevent code execution from the flash memory.

DBGMCU debug device authentication register
(DBGMCU_DBG_AUTH_DEVICE)

Address offset: 0x104

Reset value: 0xXXXX XXXX

31302928272625242322212019181716
AUTH_ID[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
AUTH_ID[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 AUTH_ID[31:0] : Device specific authentication ID

Device specific authentication ID used for RDP regression.

DBGMCU CoreSight peripheral identity register 4 (DBGMCU_PIDR4)

Address offset: 0xFD0

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.SIZE[3:0]JEP106CON[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 SIZE[3:0] : Register file size

0x0: The register file occupies a single 4-Kbyte region.

Bits 3:0 JEP106CON[3:0] : JEP106 continuation code

0x0: STMicroelectronics JEDEC code

DBGMCU CoreSight peripheral identity register 0 (DBGMCU_PIDR0)

Address offset: 0xFE0

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PARTNUM[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PARTNUM[7:0] : Part number bits [7:0]

0x00: DBGMCU part number

DBGMCU CoreSight peripheral identity register 1 (DBGMCU_PIDR1)

Address offset: 0xFE4

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID[3:0]PARTNUM[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 JEP106ID[3:0] : JEP106 identity code bits [3:0]

0x0: STMicroelectronics JEDEC code

Bits 3:0 PARTNUM[11:8] : Part number bits [11:8]

0x0: DBGMCU part number

DBGMCU CoreSight peripheral identity register 2 (DBGMCU_PIDR2)

Address offset: 0xFE8

Reset value: 0x0000 000A

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVISION[3:0]JEDECJEP106ID[6:4]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVISION[3:0] : Component revision number

0x0: r0p0

Bit 3 JEDEC : JEDEC assigned value

0x1: designer identification specified by JEDEC

Bits 2:0 JEP106ID[6:4] : JEP106 identity code bits [6:4]

0x2: STMicroelectronics JEDEC code

DBGMCU CoreSight peripheral identity register 3 (DBGMCU_PIDR3)

Address offset: 0xFEC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.REVAND[3:0]CMOD[3:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 REVAND[3:0] : Metal fix version

0x0: No metal fix

Bits 3:0 CMOD[3:0] : Customer modified

0x0: No customer modifications

DBGMCU CoreSight component identity register 0 (DBGMCU_CIDR0)

Address offset: 0xFF0

Reset value: 0x0000 000D

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[7:0] : Component identification bits [7:0]

0x0D: Common identification value

DBGMCU CoreSight component identity register 1 (DBGMCU_CIDR1)

Address offset: 0xFF4

Reset value: 0x0000 00F0

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]PREAMBLE[11:8]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:4 CLASS[3:0] : Component identification bits [15:12] - component class

0xF: Non-CoreSight component

Bits 3:0 PREAMBLE[11:8] : Component identification bits [11:8]

0x0: Common identification value

DBGMCU CoreSight component identity register 2 (DBGMCU_CIDR2)

Address offset: 0xFF8

Reset value: 0x0000 0005

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[19:12] : Component identification bits [23:16]
0x05: Common identification value

DBGMCU CoreSight component identity register 3 (DBGMCU_CIDR3)

Address offset: 0xFFC

Reset value: 0x0000 00B1

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 PREAMBLE[27:20] : Component identification bits [31:24]
0xB1: Common identification value

57.12.5 DBGMCU register map

Table 652. DBGMCU register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x000DBGMCU_IDCODEREV_ID[15:0]Res.Res.Res.Res.DEV_ID[11:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x004DBGMCU_CRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TRACE_MODE [1:0]TRACE_ENTRACE_IOENRes.DBG_STANDBYDBG_STOPRes.
Reset value0000000
0x008DBGMCU_APB1LFZRRes.DBG_RTC_STOPRes.Res.Res.Res.Res.Res.DBG_I3C1_STOPDBG_I2C2_STOPDBG_I2C1_STOPRes.Res.Res.Res.Res.Res.Res.Res.Res.DBG_IWDG_STOPDBG_WWDG_STOPRes.Res.Res.Res.Res.DBG_TIM7_STOPDBG_TIM6_STOPRes.DBG_TIM4_STOPDBG_TIM3_STOPDBG_TIM2_STOP
Reset value00000000000
0x0C0DBGMCU_APB1HFZRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.DBG_LPTIM2_STOPRes.Res.Res.DBG_I2C4_STOPRes.
Reset value00
Table 652. DBGMCU register map and reset values (continued)
OffsetRegister name313029282726252423222120191817161514131211109876543210
0x010DBGMCU_APB2FZRRes.Res.Res.Res.Res.DBG_I3C2_STOPRes.Res.Res.Res.Res.Res.Res.DBG_TIM17_STOPDBG_TIM16_STOPDBG_TIM15_STOPDBG_TIM12_STOPRes.DBG_TIM8_STOPRes.DBG_TIM1_STOPRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
Reset value0000000
0x010DBGMCU_APB2FZRRes.Res.Res.Res.Res.DBG_I3C2_STOPRes.Res.Res.Res.Res.Res.Res.DBG_TIM17_STOPDBG_TIM16_STOPDBG_TIM15_STOPRes.Res.Res.Res.DBG_TIM1_STOPRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
Reset value00000
0x04DBGMCU_APB3FZRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.DBG_LPTIM4_STOPDBG_LPTIM3_STOPDBG_LPTIM1_STOPRes.Res.Res.Res.Res.Res.DBG_I2C3_STOPRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.
Reset value0000
0x018-0x01CReservedReserved
0x020DBGMCU_AHB1FZRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.DBG_HSP1_STOPRes.Res.Res.Res.DBG_GPDMA11_STOPDBG_GPDMA10_STOPDBG_GPDMA9_STOPDBG_GPDMA8_STOPDBG_GPDMA7_STOPDBG_GPDMA6_STOPDBG_GPDMA5_STOPDBG_GPDMA4_STOPDBG_GPDMA3_STOPDBG_GPDMA2_STOPDBG_GPDMA1_STOPDBG_GPDMA0_STOP
Reset value0000000000000
0x024-0x0F8ReservedReserved
0x0FCDBGMCU_SRAP_ENABLED[15:0]AP_PRESENT[15:0]
Reset valueXXXXXXXXXXXXXXXX0000000000000001
0x100DBGMCU_DBG_AUTH_HOSTAUTH_KEY[31:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x104DBGMCU_DBG_AUTH_DEVICEAUTH_ID[31:0]
Reset valueXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0x108-0xFBCReservedReserved
0xFD0DBGMCU_PIDR4Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SIZE[3:0]JEP106CON[3:0]
Reset value00000000
0xFD4-0xFDCReservedReserved
0xFE0DBGMCU_PIDR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PARTNUM[7:0]
Reset value00000000

Table 652. DBGMCU register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0xFE4DBGMCU_PIDR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.JEP106ID
[3:0]
PARTNUM
[11:8]
Reset value00000000
0xFE8DBGMCU_PIDR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.REVISION
[3:0]
JEDEC
[6:4]
JEP106ID
[6:4]
Reset value00001010
0xFECDBGMCU_PIDR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.REVAND[3:0]CMOD[3:0]
Reset value00000000
0xFF0DBGMCU_CIDR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[7:0]
Reset value000001101
0xFF4DBGMCU_CIDR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CLASS[3:0]Res.Res.PREAMBLE
[11:8]
Reset value111110000
0xFF8DBGMCU_CIDR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[19:12]
Reset value000000101
0xFFCDBGMCU_CIDR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PREAMBLE[27:20]
Reset value101110001

Refer to Section 2.3 for register boundary addresses.

57.13 References

  1. 1. IHI 0031C (ID080813) - Arm Debug Interface Architecture Specification ADIv5.0 to ADIv5.2, Issue C, 8th Aug 2013
  2. 2. DDI 0480F (ID100313) - Arm CoreSight SoC-400 r3p2 Technical Reference Manual, Issue G, 16th March 2015 DDI 0314H - Arm CoreSight Components Technical Reference Manual, Issue H, 10 July, 2009
  3. 3. DDI 0553A (ID092917) - Arm v8-M Architecture Reference Manual, Issue A.f, 29 September 2017
  4. 4. 100230_0002_00_en - Arm Cortex-M33 Processor r0p2 Technical Reference Manual, Issue 0002-00, 10 May 2017
  5. 5. 100232_0001_00_en - Arm CoreSight ETM-M33 r0p1 Technical Reference Manual, Issue 0001-00, 3 February 2017