| |||
| Home > Program Flow Trace Protocol > Prohibited regions > Non-invasive debug disabled | |||
Some systems allow non-invasive debug to be disabled. Sometimes a signal called Non Invasive Debug ENable (NIDEN), is used to disable or enable PTM functionality. Systems do not have to support the Security Extensions to implement this functionality.
When non-invasive debug is disabled, the PTM behaves as if the processor has entered a prohibited region.
For more information, see Behavior of the PTM when the processor is in a prohibited region. The following additional restrictions apply:
Whether the branch packet is output is implementation specific.
All trace in the PTM FIFO must be output.
Trigger generation is disabled.
The trace prohibited resource, if supported, is HIGH.
The security state of the processor is considered Secure, so the Non-secure resource, if supported, is LOW.
External inputs and extended external inputs must be ignored.
Other resources such as counters, the sequencer, and external outputs, stop operating and are held in their current state. Some PTM implementations might drive the external outputs LOW.
It is implementation defined if the cycle counter continues to count.
As defined in the CoreSight Architecture Specification, the effect of the timing of disabling non-invasive debug is imprecise. Therefore, tracing might continue after non-invasive debug is disabled, and might take time to re-enable when non-invasive debug is re-enabled.
When non-invasive debug is disabled, the ETMAUTHSTATUS register represents this. For more information, see Authentication Status Register, ETMAUTHSTATUS.
When non-invasive debug is disabled, the PTM programmers’ model behaves normally.ARMv7 processors must implement the NIDEN functionality, and PTMs that are connected to ARMv7 processors must implement this functionality.
Normally, NIDEN is used in conjunction with a signal that enables invasive debug, DBGEN. Non-invasive debug is disabled only if both NIDEN and DBGEN are LOW. In a PTM, typically these signals are ORed together and the result is used to determine whether non-invasive debug is enabled.