MPC563XM Reference Manual, Rev. 1
918
Freescale Semiconductor
Preliminary—Subject to Change Without Notice
NDEDI is an IP block designed to support Nexus functionality for the eTPU. When Internal Debug
Interface is connected to an NDEDI block, the MCU can provide Nexus class 3 debug interface. Nexus is
a development support external interface defined by the
IEEE standard ISTO 5001-1999
. More details
about it can be found in the
NDEDI Block Guide
.
Some of the next subsections describe debug features provided by the Internal Debug Interface combined
with the NDEDI block. NDEDI can be replaced by other block providing a different programming
interface, such as a register debug interface, for instance.
23.4.10.2.2
Microengine Halt State
Halt is a microengine state where it suspends execution during a thread, or does not start executing a
scheduled thread from idle state. While Idle State is entered from END execution without any other
scheduled thread, microengine enters Halt State by any of the following events:
•
execution of the HALT microinstruction (software breakpoint).
•
external halt request through the Debug Interface (includes Nexus breakpoint request via EVTI
input pin - see
Section 23.4.10.2.1, “Internal Debug Interface and Nexus Class 3 Support
•
the other Engine enters halt state and they are configured to halt simultaneously (bit HTWIN is
asserted via Nexus Interface).
•
IPI Green line SoC debug request assertion and NDEDI register NDEDIETPUx_DC field CBI=1.
If same register’s field CBT=1, microengine halts at the next time-slot boundary, if CBT=0 it halts
immediately. As a particular case, microengines come halted out of reset if SoC debug request is
asserted, since CBI reset value is 1. Microengine does not execute out of reset, either in halt (SoC
debug request asserted) or idle state (SoC debug request negated), but halt enables several other
features (see below).
•
occurrence of any of the hardware breakpoint conditions.. See
Section 23.4.10.2.3, “Hardware
•
execution of a single-step microinstruction: microengine returns to halt state after executing a
single microinstruction while in halt state. See
Section 23.4.10.2.6, “Single-step Execution
Section 23.4.10.2.7, “Forced Microinstruction Execution
for details.
When microengine enters halt state, it automatically triggers the following actions:
•
suspends input signal sampling and filters (respective Engine channels only), if signal
ndedi_stop_pins is asserted at the Debug Interface.
•
releases the SPRAM arbitration for Host or CDC accesses, no matter if microengine was halted in
the middle of a dual parameter (back-to-back) access.
•
stops TCR1/2 clocks of the respective Engine, if signal ndedi_stop_tcr is asserted at the Debug
Interface.
•
if the other Engine is also in halt state or stopped, allows turning ETPUMCR VIS bit to 1.
If all halt conditions are cleared when VIS=1, microengine(s) keep on halt state until VIS=0, when it
automatically exits halt state, except on single-step (see
Section 23.4.10.2.6, “Single-step Execution
), so
that single-step execution is ignored while VIS=1.