6.3.1 Debug Pins
The following pins are the debug connections for the device:
• Serial Wire Clock Input and Test Clock Input (SWCLKTCK) : This pin is enabled after power-up and has a built-in pull down.
• Serial Wire Data Input/Output and Test Mode Select Input (SWDIOTMS) : This pin is enabled after power-up and has a built-in pull-
up.
• Test Data Output (TDO): This pin is assigned to JTAG functionality after power-up. However, it remains in high-Z state until the first
valid JTAG command is received.
• Test Data Input (TDI): This pin is assigned to JTAG functionality after power-up. However, it remains in high-Z state until the first
valid JTAG command is received. Once enabled, the pin has a built-in pull-up.
The debug pins have pull-down and pull-up enabled by default, so leaving them enabled may increase the current consumption if left
connected to supply or ground. The debug pins can be enabled and disabled through GPIO_ROUTE_PEN, see
. Remember that upon disabling the debug pins, debug contact with the device is lost once the DAPSWJ power
request bits are deasserted. By default after power cycle the part is debug pins are in JTAG mode. If during debugging session it is
switched to SWD mode, a power cycle is needed to bring it back to JTAG mode.
6.3.2 Debug and EM2 Deep Sleep/EM3 Stop
Leaving the debugger connected when issuing a WFI or WFE to enter EM2 Deep Sleep or EM3 Stop will make the system enter a
special EM2 Deep Sleep. This mode differs from regular EM2 Deep Sleep and EM3 Stop in that the high frequency clocks are still
enabled, and certain core functionality is still powered in order to maintain debug-functionality. Because of this, the current consumption
in this mode is closer to EM1 Sleep and it is therefore important to deassert the power requests in the DAPSWJ and disconnect the
debugger before doing current consumption measurements.
6.3.3 Authentication Access Point
The Authentication Acces Point (AAP) is a set of registers that provide a minimal amount of debugging and system level commands.
The AAP registers contain commands to issue a FLASH erase, a system reset, a CRC of user code pages, and stalling the system bus.
The user must program the APSEL bit field to 255 inside of the ARM DAPSWJ Debug Port SELECT register to access the AAP. The
AAP is only accessible from a debugger and not from the core.
6.3.3.1 System Bus Stall
The system bus can be stalled at any time using the SYSBUSSTALL register bit. Once the SYSBUSSTALL is set, the system bus will
remain stalled until SYSBUSSTALL is cleared. While the system bus is stalled, only the registers inside the Cortex-M4, AAP and the
debugger can be accessed. The SYSBUSSTALL register is available at all times through the AAP.
6.3.3.2 Command Key
The AAP uses a command key to enable the DEVICEERASE and SYSRESETREQ AAP commands. The command key must be writ-
ten with the correct key in order for the commands to execute.
6.3.3.3 Device Erase
The device can be erased by stalling the system bus, writing AAP_CMDKEY, and then writing the DEVICEERASE register bit. Upon
writing the command bit, the ERASEBUSY bit is asserted. The ERASEBUSY bit will be de-asserted once the erase is complete. The
SYSRESETREQ bit must then be set to resume a normal debugger session. The DEVICEERASE register is available at all times
through the AAP once the CMDKEY is enetered.
6.3.3.4 System Reset
The system can be reset by writing AAP_CMDKEY followed by writing the SYSRESTREQ register bit. This must be done after assert-
ing DEVICEERASE or CRCREQ. Depending on the reset level setting for system reset, asserting SYSRESETREQ will either reset the
entire AAP register space or just the SYSRESETREQ bit. See
for more details on reset levels. The SYSRESETREQ
register is available at all times through the AAP once the CMDKEY is enetered.
Reference Manual
DBG - Debug Interface
silabs.com
| Building a more connected world.
Rev. 1.1 | 117