SPRUJF2A March 2026 – March 2026 AM13E23019
The Debug Subsystem Mailbox (DSSM) enables a debug probe to pass messages to the target device through the SWJ-DP interface, as well as making it possible for the target device to return data to the debug probe.
The DSSM supports the following functions:
Two 32-bit word data buffers are provided for TX data (debug probe to target device) and RX data (target device to debug probe). These data buffers are implemented as 32-bit memory-mapped registers in the DEBUGSS. In addition, TXCTL and RXCTL registers are provided for enabling flow control and indicating status of the mailbox.
| DSSM Register | Description | Debug Probe | Target Device | Actions |
|---|---|---|---|---|
| TX_DATA | Data buffer | RW | R | TXCTL.TRANSMIT is set on write by the debug probe, and cleared on a read by the target device; TXIFG is also set on a write by the debug probe |
| TXCTL | Flow control and status | RW | R | None |
| RX_DATA | Data buffer | R | RW | RXCTL.RECEIVE is set on write by the target device, and cleared on a read by the debug probe; RXIFG is also set on a write by the target device |
| RXCTL | Flow control and status | R | RW | None |
The TXCTL and RXCTL registers provide generic transmit and receive flags. BIT0 of the TXCTL and RXCTL registers provide a specific TRANSMIT and RECEIVE flag which indicate the status of the TX_DATA and RX_DATA. The TRANSMIT bit is set in the TXCTL register when a debug probe writes data to the TX_DATA buffer register. The TRANSMIT flag will then remain set until the CPU in the target device reads TX_DATA or a POR occurs. The RECEIVE flag is set in the RXCTL register when the CPU in the target device writes data to the RX_DATA buffer register. The RECEIVE flag will then remain set until the debug probe reads the data from RX_DATA.
It is not possible for software running on the target device to write to TX_DATA, and it is also not possible for target software to clear the TRANSMIT flag other than by reading TX_DATA.
The upper 31 bits of the TXCTL register, TRANSMIT_FLAGS, contain generic flag bits which can be set or cleared by the debug probe to implement a protocol if desired. Only the debug probe can write to the TRANSMIT_FLAGS field in TXCTL. The Table 33-12 is an example of a protocol to communicate with the target device. Also refer to Boot Configuration (TBD: M33 chapter) for security level control related to the DSSM commands.
In a similar way, only the target device software can write to RX_DATA and RXCTL. The debug probe cannot write to RX_DATA and it can only clear the RECEIVE flag in RXCTL by reading RX_DATA. BIT1 through BIT7 (0xFE) of RXCTL contains the RECEIVE_FLAGS field. Software on the target device can set or clear bits in the RECEIVE_FLAGS field to implement a protocol if desired. These flags can be read by the debug probe but can not be modified by the debug probe.
| AP SEL | ADDR | BANK | INDEX | REGISTER NAME | BIT 31 - 8 | BIT 7 - 1 | BIT 0 |
|---|---|---|---|---|---|---|---|
| 2 | 0x00 | 0 | 0 | TXDATA | TX DATA | ||
| 0x04 | 0 | 1 | TXCTL | TRANSMIT_FLAGS | TRANSMIT | ||
| 0x08 | 0 | 2 | RXDATA | RX Data | |||
| 0x0C | 0 | 3 | RXCTL | Reserved | RECEIVE_FLAGS | RECEIVE | |
| 0x0FC | 15 | 3 | IDR | Access point ID | |||