3.4 Debugging
There are two steps to using the MPLAB ICD 4 In-Circuit Debugger system as a debugger. The first requires that an application is programmed into the target device (MPLAB ICD 4 can be used for this). The second uses the internal in-circuit debug hardware of the target Flash device to run and test the application program. These two steps are directly related to the MPLAB X IDE operations:
- Programming the code into the target and activating special debug functions (see the next section for details).
- Using the debugger to set breakpoints and run.
If the target device cannot be programmed correctly, the MPLAB ICD 4 In-Circuit Debugger will not be able to debug it.
A simplified diagram of some of the internal interface circuitry of the MPLAB ICD 4 In-Circuit Debugger is shown in the figure below.
For programming, no clock is needed on the target device, but power must be supplied. When programming, the debugger puts programming levels on VPP/MCLR, sends clock pulses on PGC, and serial data via PGD. To verify that the part has been programmed correctly, clocks are sent to PGC and data is read back from PGD. This sequence confirms the debugger and device are communicating correctly.