5.4.1 DEM trigger capabilities

To improve at-speed debug, the DEM uses the incoming DTB to create an external trigger signal, DBGWATCHTRIGREQ. This signal is paired with an input signal, DBGWATCHTRIGACK. These signals are asynchronous-safe and communicate using a 4-phase handshake protocol.

The DEM includes logic that selects any combination of the DTB bits, using an OR function when multiple DTB bits are selected, to generate the DBGWATCHTRIGREQ signal. Therefore, any watchpoint match or PMU event that causes a 1 to be asserted on the DTB can be translated by the DEM into an assertion of DBGWATCHTRIGREQ.

Note:

The 4-phase handshake might not complete if debug is disabled when DBGWATCHTRIGREQ is asserted.

When each assertion of DBGWATCHTRIGREQ occurs, the DEM snapshots the DTB inputs that contributed to that assertion in the trigger_status register. This is a function of the value of the DTB and the trigger select mask in the trigger_sel field in the trigger_ctl register. Therefore, the software or hardware responding to the assertion of DBGWATCHTRIGREQ can query the trigger_status register to determine which watchpoints contributed to that assertion.

The contents of the trigger_status field in the trigger_status register are sticky, that is, an assertion of any bit in that register remains asserted regardless of the value of the DTB at subsequent assertions of DBGWATCHTRIGREQ, until the register is cleared with a software write to the trigger_status_clr register.

The DEM also includes a programmable timer that can be applied to create a delay from the DTB assertion to the assertion of DBGWATCHTRIGREQ. You can program this timer to add 0-65535 cycles between these two events.

Non-ConfidentialPDF file icon PDF versionARM 100052_0001_00_en
Copyright © 2014, 2015, 2017 ARM Limited or its affiliates. All rights reserved.