3.3 Debugging
There are two steps to using the MPLAB PICkit 4 In-Circuit Debugger system as a debugger. The first requires that an application is programmed into the target device (usually with the MPLAB PICkit 4 itself). 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.
- Debugging the code using features such as breakpoints.
If the target device cannot be programmed correctly, the MPLAB PICkit 4 In-Circuit Debugger will not be able to debug.
A simplified diagram of some of the internal interface circuitry of the MPLAB PICkit 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.